QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#841095#9920. Money Game 2m_jWA 2ms7756kbC991.6kb2025-01-03 13:13:242025-01-03 13:13:24

Judging History

This is the latest submission verdict.

  • [2025-01-03 13:13:24]
  • Judged
  • Verdict: WA
  • Time: 2ms
  • Memory: 7756kb
  • [2025-01-03 13:13:24]
  • Submitted

answer

#include<stdio.h>

int a[500000],b[500000],c[500000];
long long r[500000];

int main() {
  int N,i,j,n,cur,next,ll,rr;
  long long t;
  for(scanf("%d",&N);N--;) {
    scanf("%d",&n);
    for(i=0;i<n;i++) scanf("%d",&a[i]),r[i]=a[i];
    for(b[0]=a[0],i=1;i<n;i++) b[i]=b[i-1]/2+a[i];
    for(c[n-1]=a[n-1],i=n-2;i>=0;i--) c[i]=c[i+1]/2+a[i];
    for(i=0;i<n;i++) {
      t=(long long)b[i]+c[i]-a[i];
      if (t>r[i]) r[i]=t;
    }
    //for(i=0;i<n;i++) printf("%d %d %lld\n",b[i],c[i],r[i]);
    for(i=1;i<n;i++) {
      ll=i,rr=i-1;
      t=a[i];
      if (t!=b[i]) {
        b[i]=t;
        for(j=1,cur=i;j<n-1;j++,cur=next) {
          next=cur==n-1?0:cur+1;
          t=b[cur]/2+a[next];
          if (t!=b[next]) b[next]=t; else break;
        }
        ll=cur;
      }
      b[i-1]=a[i-1]+b[i==1?n-1:i-2]/2;
      t=a[i-1];
      if (t!=c[i-1]) {
        c[i-1]=t;
        for(j=1,cur=i-1;j<n;j++,cur=next) {
          next=cur==0?n-1:cur-1;
          t=c[cur]/2+a[next];
          if (t!=c[next]) c[next]=t; else break;
        }
        rr=cur;
      }
      //printf("%d %d\n",ll,rr);
      for(cur=i;;cur=cur==n-1?0:cur+1) {
        t=(long long)b[cur]+c[cur]-a[cur];
        if (cur!=i && t>r[cur]) r[cur]=t;
        if (cur==ll) break;
      }
      for(cur=i-1;;cur=cur==0?n-1:cur-1) {
        t=(long long)b[cur]+c[cur]-a[cur];
        if (cur!=i-1 && t>r[cur]) r[cur]=t;
        if (cur==rr) break;
      }
      //for(j=0;j<n;j++) printf("%d %d %lld\n",b[j],c[j],r[j]);
    }
    for(i=0;i<n;i++) printf("%lld%c",r[i],i==n-1?'\n':' ');
  }
  return 0;
}

詳細信息

Test #1:

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

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: 5724kb

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: 2ms
memory: 7720kb

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 10
6 6 5
3 5 5 3
18 16 13 15
9
4
18 17 11 14
9
0
7 8
13 9 11 14
10 12
12 7 6 9
11 11 13
17 16 17
12 14 13 12
10 6
7
12 8 9
5 6 4 4
6 4 4
4
4 5 10
11 11 13 10
5 4 4
8 7
2
4 4 6
11 12 10
10 7
13 17 16 12
9 10 8 6
6
6 7 11 7
9 13 12 11
14 10 12 16
18 15 18 19
5
11 13
4 4 6 7
12 14 13...

result:

wrong answer 64th numbers differ - expected: '6', found: '4'