QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#767086#8049. Equal Sumsywli08WA 895ms999660kbC++141.5kb2024-11-20 19:47:432024-11-20 19:47:48

Judging History

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

  • [2024-11-20 19:47:48]
  • 评测
  • 测评结果:WA
  • 用时:895ms
  • 内存:999660kb
  • [2024-11-20 19:47:43]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 5e2+5;
const ll mod = 998244353;

int n, m;
int la[maxn], ra[maxn];
int lb[maxn], rb[maxn];

int dp[maxn][maxn][2 * maxn];
const int ofst = 501;

int main(){
    cin >> n >> m;
    for(int i = 1;i <= n;i++){
        cin >> la[i] >> ra[i];
    }
    for(int i = 1;i <= m;i++){
        cin >> lb[i] >> rb[i];
    }
    // if(n < m) swap(n, m), swap(la, lb), swap(ra, rb);
    dp[0][0][ofst] = 1;
    dp[0][0][ofst + 1] = -1;
    for(int i = 0;i <= n;i++){
        for(int j = 0;j <= m;j++){
            for(int k = -500;k <= 500;k++){
                dp[i][j][k + ofst] = dp[i][j][k + ofst - 1] + dp[i][j][k + ofst];
                if(dp[i][j][k+ofst] == 0) continue;
                if(k < 0){
                    dp[i + 1][j][k + la[i + 1] + ofst] =     (dp[i + 1][j][k + la[i + 1] + ofst] + dp[i][j][k + ofst]) % mod;
                    dp[i + 1][j][k + ra[i + 1] + ofst + 1] = (dp[i + 1][j][k + ra[i + 1] + ofst + 1] - dp[i][j][k + ofst]) % mod;
                }
                else{ 
                    dp[i][j + 1][k - rb[j + 1] + ofst] =     (dp[i][j + 1][k - rb[j + 1] + ofst] + dp[i][j][k + ofst]) % mod;
                    dp[i][j + 1][k - lb[j + 1] + ofst + 1] = (dp[i][j + 1][k - lb[j + 1] + ofst + 1] - dp[i][j][k + ofst]) % mod;
                }
            }
        }
    }
    for(int i = 1;i <= n;i++){
        for(int j = 1;j <= m;j++){
            cout << dp[i][j][ofst] << ' ';
        }
        cout << endl;
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 895ms
memory: 999660kb

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 -238849301 -1666575894 -1971900261 -528621800 1207317869 1507436426 -1921472133 -650169953 -1985241207 -1964283445 2135014637 502395429 -1716738894 2135931991 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...

result:

wrong answer 5th numbers differ - expected: '180581065', found: '-238849301'