QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#767092#8049. Equal Sumsywli08WA 1ms3724kbC++141.5kb2024-11-20 19:49:062024-11-20 19:49:06

Judging History

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

  • [2024-11-20 19:49:06]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3724kb
  • [2024-11-20 19:49:06]
  • 提交

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) % 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) % mod;
                }
            }
        }
    }
    for(int i = 1;i <= n;i++){
        for(int j = 1;j <= m;j++){
            cout << dp[i][j][ofst] << ' ';
        }
        cout << endl;
    }
}

详细

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3724kb

input:

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

output:

2 1996488706 0 
3 4 -301989880 

result:

wrong answer 2nd numbers differ - expected: '0', found: '1996488706'