QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#627717#8049. Equal SumswangqingxianWA 1134ms1012896kbC++201.3kb2024-10-10 16:53:072024-10-10 16:53:07

Judging History

你现在查看的是最新测评结果

  • [2024-10-10 16:53:07]
  • 评测
  • 测评结果:WA
  • 用时:1134ms
  • 内存:1012896kb
  • [2024-10-10 16:53:07]
  • 提交

answer

#include<bits/stdc++.h>
// #define int long long
#define pii pair<int,int>
using namespace std;
const int N=5e2+10,inf=1e9,mod=998244353;
int n,m;
pii p1[N],p2[N];
const int V=500;
int dp[N][N][(V<<1)+10];
void add(int &x,int y){
    x+=y;
    if(x>=mod)x-=mod;
}
inline int &f(int i,int j,int k){
    return dp[i][j][k+V];
}
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    cin>>n>>m;
    for(int i=1;i<=n;++i)cin>>p1[i].first>>p1[i].second;
    for(int i=1;i<=m;++i)cin>>p2[i].first>>p2[i].second;
    f(0,0,0)=1;
    for(int i=0;i<=n;++i){
        for(int j=0;j<=m;++j){
            for(int k=-V;k<=V;++k){
                if(k<0&&i)
                    f(i,j,k)=(f(i-1,j,k+p1[i].second)-f(i-1,j,k+p2[i].first-1)+mod)%mod;
                if(k>=0&&j)
                    f(i,j,k)=(f(i,j-1,k-p2[j].first)-f(i,j-1,k-p2[j].second-1)+mod)%mod;
            }
            for(int k=-V;k<=V;++k)
                add(f(i,j,k),f(i,j,k-1));
        }
    }
    for(int i=1;i<=n;++i){
        for(int j=1;j<=m;++j){
            int ans=(f(i,j,0)-f(i,j,-1)+mod)%mod;
            cout<<ans<<" ";
        }
        cout<<endl;
    }
    // cerr<<fixed<<setprecision(3)<<(double)clock()/CLOCKS_PER_SEC<<endl;
    return 0;
}
/*
 */

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 7704kb

input:

2 3
1 2
2 3
1 4
2 2
1 3

output:

2 0 0 
3 4 4 

result:

ok 6 numbers

Test #2:

score: -100
Wrong Answer
time: 1134ms
memory: 1012896kb

input:

500 500
19 458
1 480
7 485
50 461
12 476
15 461
48 466
40 453
46 467
9 458
27 478
26 472
46 459
29 490
6 500
17 487
48 484
28 472
28 459
25 480
4 491
29 481
36 460
2 491
44 499
22 473
20 458
4 483
27 471
2 496
11 461
43 450
2 478
37 466
15 459
42 482
7 451
19 455
2 453
47 475
48 450
1 474
46 471
9 4...

output:

411 79401 9145270 673005095 180581065 984223118 586589234 293043270 404363796 865361724 665487988 118838806 926189944 226338288 521479857 808644951 786041288 340769021 177100 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

wrong answer 501st numbers differ - expected: '97494', found: '80601'