QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#764391 | #8049. Equal Sums | piggy123 | WA | 1338ms | 11512kb | C++17 | 3.4kb | 2024-11-20 08:56:14 | 2024-11-20 08:56:26 |
Judging History
answer
#include <bits/stdc++.h>
#define ll int
using namespace std;
struct rg {
ll l,r;
} p[505],q[505];
ll dp[2][505][1005],cf[2][505][1005];
const ll mod=998244353;
int main() {
ll n,m;
cin >> n >> m;
for (ll i=1; i<=n; i++) {
cin >> p[i].l >> p[i].r;
}
for (ll i=1; i<=m; i++) {
cin >> q[i].l >> q[i].r;
}
dp[0][0][500]=1;
for (ll i=0; i<=n; i++) {
memset(dp[i&1^1],0,sizeof(dp[i&1^1]));
memset(cf[i&1^1],0,sizeof(cf[i&1^1]));
for (ll j=0; j<=m; j++) {
for (ll k=-500; k<=500; k++) {
if (k!=-500)
cf[i&1][j][k+500]+=cf[i&1][j][k+499],cf[i&1][j][k+500]%=mod;
dp[i&1][j][k+500]+=cf[i&1][j][k+500],dp[i&1][j][k+500]+=mod,dp[i&1][j][k+500]%=mod;
if (k<0) {
cf[i&1^1][j][k+500+p[i+1].l]+=dp[i&1][j][k+500];
if (p[i+1].r+k+500+1<=1000)
cf[i&1^1][j][k+500+p[i+1].r+1]-=dp[i&1][j][k+500];
} else {
if (k+500-q[j+1].r>=0)
cf[i&1][j+1][k+500-q[j+1].r]+=dp[i&1][j][k+500];
cf[i&1][j+1][k+500-q[j+1].l+1]-=dp[i&1][j][k+500];
}
}
}
if (i!=0) {
for (ll j=1; j<=m; j++) {
cout<< dp[i&1][j][500]<<" ";
}
cout<<"\n";
}
}
return 0;
}
/*
■■■■■ ■■ ■■■ ■■■ ■ ■ ■ ■■■■ ■■■■
■ ■■ ■■ ■ ■■ ■ ■■ ■ ■ ■■ ■ ■■ ■■ ■
■ ■ ■■ ■ ■ ■ ■ ■ ■ ■■■ ■■ ■■ ■ ■■
■ ■ ■■ ■ ■ ■ ■ ■ ■ ■■ ■ ■■ ■■
■ ■ ■■ ■ ■ ■■ ■■ ■■ ■
■ ■■ ■■ ■ ■■■ ■ ■■■ ■■ ■■ ■■ ■■■
■■■■■ ■■ ■ ■ ■ ■ ■■ ■■ ■■ ■■
■ ■■ ■ ■ ■ ■ ■■ ■■ ■■ ■
■ ■■ ■ ■ ■ ■ ■■ ■■ ■ ■ ■■
■ ■■ ■■ ■■ ■■ ■■ ■■ ■■ ■ ■■ ■■
■ ■■ ■■■■ ■■■■ ■■ ■■ ■■■■■■ ■■■■
*/
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 11500kb
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: 1338ms
memory: 11512kb
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 504th numbers differ - expected: '670493199', found: '704047915'