# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
919343 | 2024-01-31T15:40:20 Z | vnm06 | Koala Game (APIO17_koala) | C++14 | 45 ms | 720 KB |
#include<bits/stdc++.h> #include "koala.h" using namespace std; int minValue(int N, int W) { int B[105], R[105]; for(int i=0; i<N; i++) B[i]=R[i]=0; B[0]=1; playRound(B, R); for(int i=1; i<N; i++) if(!R[i]) return i; return 0; } int maxValue(int N, int W) { vector<int> pos, pos2; pos.resize(N); for(int i=0; i<N; i++) pos[i]=i; int B[105], R[105]; for(int i=0; i<N; i++) B[i]=R[i]=0; while(pos.size()>1) { int k=pos.size(), v=W/k; for(int i=0; i<N; i++) B[i]=R[i]=0; for(int i=0; i<k; i++) B[pos[i]]=v; playRound(B, R); pos2.resize(0); for(int i=0; i<k; i++) { if(R[pos[i]]>B[pos[i]]) pos2.push_back(pos[i]); } pos.resize(pos2.size()); for(int i=0; i<pos.size(); i++) pos[i]=pos2[i]; } // TODO: Implement Subtask 2 solution here. // You may leave this function unmodified if you are not attempting this // subtask. return pos[0]; } int greaterValue(int N, int W) { int B[105], R[105]; for(int i=0; i<N; i++) B[i]=R[i]=0; int le=0, ri=13; while(ri-le>1) { int mid=(le+ri)/2; B[0]=B[1]=mid; playRound(B, R); if(R[0]<=B[0] && R[1]<=B[1]) ri=mid; else if(R[0]>B[1] && R[1]>B[1]) le=mid; else return R[0]<R[1]; } // TODO: Implement Subtask 3 solution here. // You may leave this function unmodified if you are not attempting this // subtask. return 0; } int find_V(int N, int br, int W) { ///cout<<N<<" "<<br<<" "<<W<<endl; for(int i=1; i<=W/br; i++) { int best=0, brbst=0; for(int j=0; j<=br; j++) { if(j*(i+1)>W) continue; int brost=W-j*(i+1); if(brost>N-br) brost=N-br; int tval=(2*N-j+1)*j/2; tval+=(2*(N-br)-brost+1)*brost/2; if(tval>best) {best=tval; brbst=j;} } ///cout<<i<<' '<<best<<" "<<brbst<<endl; if(brbst<br) return i; } } void allValues(int N, int W, int *P) { int B[105], R[105]; for(int i=0; i<N; i++) B[i]=R[i]=0; int ord[105]; int gr[105]; for(int i=0; i<N; i++) { ord[i]=i; gr[i]=0; } while(1) { int i; for(i=0; i<N-1; i++) { ///cout<<gr[i]<<" "; if(!gr[i]) break; } ///for(int i=0; i<N; i++) cout<<ord[i]<<" "; ///cout<<endl; if(i==N-1) break; int le=i; int ri=i; while(ri+1<N-1 && !gr[ri+1]) ri++; ri++; int br=ri-le+1; int v=find_V(N-le, br, W-le); ///cout<<v<<endl; for(int i=0; i<N; i++) B[i]=0; for(int j=le; j<=ri; j++) B[ord[j]]=v; playRound(B, R); for(int j=le; j<=ri; j++) { if(B[ord[j]]<R[ord[j]]) { /// cout<<j<<" "<<le<<endl; swap(ord[j], ord[le]); le++; } } gr[le-1]=1; /// cout<<lst<<"Smqna"<<" "<<le-1<<endl; } for(int i=0; i<N; i++) P[ord[i]]=N-i; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 344 KB | Output is correct |
2 | Correct | 4 ms | 344 KB | Output is correct |
3 | Correct | 4 ms | 344 KB | Output is correct |
4 | Correct | 3 ms | 344 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 344 KB | Output is correct |
2 | Correct | 14 ms | 344 KB | Output is correct |
3 | Correct | 13 ms | 452 KB | Output is correct |
4 | Correct | 11 ms | 344 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 41 ms | 468 KB | Output is correct |
2 | Correct | 45 ms | 344 KB | Output is correct |
3 | Correct | 41 ms | 720 KB | Output is correct |
4 | Correct | 38 ms | 600 KB | Output is correct |
5 | Correct | 40 ms | 600 KB | Output is correct |
6 | Correct | 36 ms | 484 KB | Output is correct |
7 | Correct | 40 ms | 500 KB | Output is correct |
8 | Correct | 41 ms | 468 KB | Output is correct |
9 | Correct | 39 ms | 708 KB | Output is correct |
10 | Correct | 37 ms | 344 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 504 KB | Output is correct |
2 | Correct | 6 ms | 596 KB | Output is correct |
3 | Correct | 5 ms | 344 KB | Output is correct |
4 | Correct | 5 ms | 344 KB | Output is correct |
5 | Correct | 5 ms | 344 KB | Output is correct |
6 | Correct | 5 ms | 344 KB | Output is correct |
7 | Correct | 6 ms | 344 KB | Output is correct |
8 | Correct | 5 ms | 448 KB | Output is correct |
9 | Correct | 5 ms | 344 KB | Output is correct |
10 | Correct | 6 ms | 344 KB | Output is correct |
11 | Correct | 6 ms | 344 KB | Output is correct |
12 | Correct | 6 ms | 512 KB | Output is correct |
13 | Correct | 5 ms | 344 KB | Output is correct |
14 | Correct | 5 ms | 540 KB | Output is correct |
15 | Correct | 6 ms | 344 KB | Output is correct |
16 | Correct | 5 ms | 344 KB | Output is correct |
17 | Correct | 5 ms | 344 KB | Output is correct |
18 | Correct | 5 ms | 344 KB | Output is correct |
19 | Correct | 5 ms | 344 KB | Output is correct |
20 | Correct | 5 ms | 344 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 344 KB | Output is correct |
2 | Correct | 3 ms | 344 KB | Output is correct |
3 | Correct | 3 ms | 344 KB | Output is correct |
4 | Correct | 3 ms | 344 KB | Output is correct |
5 | Correct | 3 ms | 344 KB | Output is correct |
6 | Correct | 3 ms | 344 KB | Output is correct |
7 | Correct | 3 ms | 344 KB | Output is correct |
8 | Correct | 3 ms | 344 KB | Output is correct |
9 | Correct | 3 ms | 344 KB | Output is correct |
10 | Correct | 3 ms | 504 KB | Output is correct |
11 | Correct | 3 ms | 344 KB | Output is correct |
12 | Correct | 3 ms | 344 KB | Output is correct |
13 | Correct | 3 ms | 344 KB | Output is correct |
14 | Correct | 3 ms | 344 KB | Output is correct |
15 | Correct | 4 ms | 344 KB | Output is correct |
16 | Correct | 3 ms | 344 KB | Output is correct |
17 | Correct | 3 ms | 540 KB | Output is correct |
18 | Correct | 3 ms | 344 KB | Output is correct |
19 | Correct | 3 ms | 344 KB | Output is correct |
20 | Correct | 3 ms | 344 KB | Output is correct |
21 | Correct | 4 ms | 344 KB | Output is correct |
22 | Correct | 4 ms | 344 KB | Output is correct |
23 | Correct | 3 ms | 344 KB | Output is correct |
24 | Correct | 3 ms | 344 KB | Output is correct |
25 | Correct | 3 ms | 344 KB | Output is correct |
26 | Correct | 3 ms | 344 KB | Output is correct |
27 | Correct | 3 ms | 344 KB | Output is correct |
28 | Correct | 3 ms | 344 KB | Output is correct |
29 | Correct | 3 ms | 504 KB | Output is correct |
30 | Correct | 3 ms | 344 KB | Output is correct |
31 | Correct | 3 ms | 344 KB | Output is correct |
32 | Correct | 3 ms | 344 KB | Output is correct |
33 | Correct | 3 ms | 344 KB | Output is correct |
34 | Correct | 3 ms | 344 KB | Output is correct |
35 | Correct | 3 ms | 344 KB | Output is correct |
36 | Correct | 3 ms | 344 KB | Output is correct |
37 | Correct | 3 ms | 344 KB | Output is correct |
38 | Correct | 3 ms | 344 KB | Output is correct |
39 | Correct | 3 ms | 344 KB | Output is correct |
40 | Correct | 3 ms | 344 KB | Output is correct |