QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#477970 | #8049. Equal Sums | BINYU | WA | 1747ms | 7648kb | C++14 | 1.1kb | 2024-07-14 14:32:20 | 2024-07-14 14:32:20 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 500;
const ll mod = 998244353;
int n,m,lx[N + 5],rx[N + 5],ly[N + 5],ry[N + 5];
int dp[2][N + 5][2 * N + 5];
int main()
{
scanf("%d %d",&n,&m);
for(int i = 1;i <= n;i++)
scanf("%d %d",&lx[i],&rx[i]);
for(int i = 1;i <= m;i++)
scanf("%d %d",&ly[i],&ry[i]);
dp[0][0][N] = 1;dp[0][0][N + 1] = mod - 1;
for(int i = 0;i <= n;i++)
{
int o = i & 1;
for(int j = 0;j <= m;j++)
for(int k = 0;k <= 2 * N;k++)
dp[o ^ 1][j][k] = 0;
for(int j = 0;j <= m;j++)
{
for(int k = 1;k <= 2 * N;k++)
(dp[o][j][k] += dp[o][j][k - 1]) %= mod;
for(int k = 1;k <= 2 * N;k++)
{
ll val = dp[o][j][k];
if(!val)continue;
if(j != m&&k >= N)
(dp[o][j + 1][k - ry[j + 1]] += val) %= mod,
(dp[o][j + 1][k - ly[j + 1] + 1] += mod - val) %= mod;
if(i != n&&k < N)
(dp[o ^ 1][j][k + lx[i + 1]] += val) %= mod,
(dp[o ^ 1][j][k + rx[i + 1] + 1] += mod - val) %= mod;
}
if(i&&j)cout<<dp[o][j][N]<<" ";
}
if(i)puts("");
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 5892kb
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: 1747ms
memory: 7648kb
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 2566th numbers differ - expected: '180331398', found: '559196107'