QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#840982#9920. Money Game 2NKheyuxiangWA 1ms10024kbC++141.1kb2025-01-03 10:56:342025-01-03 10:56:35

Judging History

This is the latest submission verdict.

  • [2025-01-03 10:56:35]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 10024kb
  • [2025-01-03 10:56:34]
  • Submitted

answer

#include<bits/stdc++.h>
#define N 500005
using namespace std;
int n,a[N*2];
int pos[N][51],val[N][51],c[N];
int P[51],V[51],cnt,pp[51],vv[51];
void solve(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	for(int i=1;i<=n;i++) a[i+n]=a[i];
	cnt=0;
	for(int i=2*n;i>=1;i--){
		int cc=cnt;
		for(int j=1;j<=cc;j++) pp[j]=P[j],vv[j]=V[j]/2+a[i];
		cnt=1;P[1]=i,V[1]=a[i];
		for(int j=1;j<=cc;j++){
			cnt+=(vv[j]!=V[cnt]);
			V[cnt]=vv[j];P[cnt]=pp[j];
		}
		if(i<=n){
			c[i]=cnt;
			for(int j=1;j<=cnt;j++)
				pos[i][j]=P[j],val[i][j]=V[j];
		}
	}
	cnt=0;
	for(int i=1;i<=2*n;i++){
		int cc=cnt;
		for(int j=1;j<=cc;j++) pp[j]=P[j],vv[j]=V[j]/2+a[i];
		cnt=1;P[1]=i,V[1]=a[i];
		for(int j=1;j<=cc;j++){
			cnt+=(vv[j]!=V[cnt]);
			V[cnt]=vv[j];P[cnt]=pp[j];
		}
		if(i>n){
			long long ans=2*a[i];P[0]=i+1;
			for(int j=1,k=cnt;j<=c[i-n];j++){
				while(k>0&&P[k-1]-1<=pos[i-n][j-1]+1) k--;
				if(k>0) ans=max(ans,0ll+V[k]+val[i-n][j]);
			}
			printf("%lld ",ans-a[i]);
		}
	}
	printf("\n");
}
int main(){
	int t;
	scanf("%d",&t);
	while(t--) solve();
}

详细

Test #1:

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

input:

3
5
2 1 4 3 5
5
2 1 3 1 2
1
1000000000

output:

6 5 7 8 8 
4 4 5 4 4 
1000000000 

result:

ok 11 numbers

Test #2:

score: 0
Accepted
time: 1ms
memory: 10000kb

input:

1
10
8 15 18 15 13 4 14 4 17 5

output:

30 37 41 39 34 27 29 26 31 27 

result:

ok 10 numbers

Test #3:

score: -100
Wrong Answer
time: 1ms
memory: 10024kb

input:

1000
4
8 9 7 9
1
9
1
10
2
3 9
3
4 3 2
4
0 4 3 1
4
10 8 4 6
1
9
1
4
4
10 10 1 6
1
9
1
0
2
4 6
4
8 1 6 7
2
5 10
4
9 2 1 4
3
5 5 9
3
9 8 9
4
4 8 5 6
2
10 1
1
7
3
9 2 4
4
2 4 1 2
3
5 2 1
1
4
3
2 0 9
4
7 3 10 1
3
4 1 2
2
6 4
1
2
3
3 1 5
3
5 8 4
2
9 3
4
5 9 10 3
4
6 5 4 0
1
6
4
3 1 10 1
4
1 9 5 7
4
8 1 6 ...

output:

18 18 17 18 
9 
10 
7 12 
6 6 5 
3 5 5 3 
18 16 13 15 
9 
4 
18 17 11 14 
9 
0 
7 9 
13 9 11 14 
10 15 
12 7 6 9 
11 11 14 
17 16 17 
12 14 13 12 
10 6 
7 
12 8 9 
5 6 4 4 
6 5 4 
4 
6 5 10 
11 11 14 10 
5 4 4 
8 8 
2 
5 4 6 
11 12 10 
10 8 
13 17 17 12 
9 10 8 6 
6 
6 7 12 7 
9 13 12 12 
14 10 12 1...

result:

wrong answer 8th numbers differ - expected: '10', found: '12'