QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#767343#8049. Equal SumsAlphysWA 1989ms14024kbC++141.0kb2024-11-20 20:38:502024-11-20 20:38:51

Judging History

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

  • [2024-11-20 20:38:51]
  • 评测
  • 测评结果:WA
  • 用时:1989ms
  • 内存:14024kb
  • [2024-11-20 20:38:50]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll MOD = 998244353;
const int N = 510;
int n,m;
ll f[N][N*2],sum[N][N*2],ans[N][N];
int l[2][N],r[2][N];
int main(){
	scanf("%d%d", &n, &m);
	for(int i=1;i<=n;i++)scanf("%d%d", &l[0][i], &r[0][i]);
	for(int i=1;i<=m;i++)scanf("%d%d", &l[1][i], &r[1][i]);
	for(int i=500;i<=1000;i++)sum[0][i]=1;
	for(int len=1;len<=n+m;len++){
		memset(f,0,sizeof(f));
		for(int i=max(0,len-m),j=len-i;i<=n&&~j;i++,j--){
			for(int v=0;v<=1000;v++){
				if(v>500&&i)
					f[i][v]=(sum[i-1][v-l[0][i]]-sum[i-1][v-r[0][i]-1]+MOD)%MOD;
				else if(j)
					f[i][v]=(sum[i][v+r[1][j]]-sum[i][v+l[1][j]-1]+MOD)%MOD;
			}
			ans[i][j]=f[i][500];
		}
		memset(sum,0,sizeof(sum));	
		for(int i=max(0,len-m),j=len-i;i<=n&&~j;i++,j--)
			for(int v=0;v<=1000;v++){
				if(v)sum[i][v]=sum[i][v-1];
				(sum[i][v]+=f[i][v])%=MOD;
			}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++)printf("%lld ", ans[i][j]);
		putchar('\n');
	}
		
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 13516kb

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: 1989ms
memory: 14024kb

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 998238676 949301766 516475549 494235409 182362199 991733800 501937793 651342810 184410826 559755282 293980043 893590034 82267671 332382825 439335478 335077602 630240164 101204093 947050709 83519731 462890254 874373054 329339004 142827377 122169460 169168871 992121433 216926262 515976770 69733578...

result:

wrong answer 2nd numbers differ - expected: '79401', found: '998238676'