# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
315701 | 2020-10-23T17:11:40 Z | juggernaut | Jousting tournament (IOI12_tournament) | C++14 | 51 ms | 3320 KB |
/* Try to solve Solve it AND NEVER BACK TO THIS PROBLEM AGAIN */ #include<bits/stdc++.h> #ifdef EVAL #else #include"grader.cpp" #endif using namespace std; const int Z=1<<17; int nxt[Z],cnt[Z<<1],add[Z],res[Z]; int gt(int n){ int x=1; while(x<Z){ x<<=1; if(cnt[x]<n)n-=cnt[x++]; } return x-Z; } void up(int x,int val){ while(x){ cnt[x]+=val; x>>=1; } } int GetBestPosition(int N,int C,int R,int *K,int *S,int *E){ int i,tmp,x,y,sum=0,mx=-1,id; for(i=0;i<N;i++)nxt[i]=i+1,cnt[i+Z]=1; for(i=Z-1;i>=1;i--)cnt[i]=cnt[i<<1]+cnt[(i<<1)^1]; for(i=0;i<C;i++){ tmp=E[i]-S[i]; S[i]=gt(S[i]+1); x=nxt[S[i]]; while(tmp--){ up(x+Z,-1); x=nxt[x]; } E[i]=x-1; nxt[S[i]]=x; } for(i=1;i<N;i++)add[i]=add[i-1]+(K[i-1]>R); for(i=0;i<C;i++)if(add[E[i]]==add[S[i]])res[S[i]]++,res[E[i]]--; for(i=0;i<N;i++){ sum+=res[i]; if(mx<sum){ mx=sum; id=i; } } return id; } /* 5 3 3 1 0 2 4 1 3 0 1 0 1 */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 896 KB | Output is correct |
2 | Correct | 1 ms | 896 KB | Output is correct |
3 | Correct | 1 ms | 896 KB | Output is correct |
4 | Correct | 1 ms | 896 KB | Output is correct |
5 | Correct | 1 ms | 896 KB | Output is correct |
6 | Correct | 1 ms | 896 KB | Output is correct |
7 | Correct | 1 ms | 896 KB | Output is correct |
8 | Correct | 1 ms | 896 KB | Output is correct |
9 | Correct | 1 ms | 896 KB | Output is correct |
10 | Correct | 1 ms | 896 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 896 KB | Output is correct |
2 | Correct | 3 ms | 1024 KB | Output is correct |
3 | Correct | 2 ms | 896 KB | Output is correct |
4 | Correct | 3 ms | 1024 KB | Output is correct |
5 | Correct | 3 ms | 1024 KB | Output is correct |
6 | Correct | 3 ms | 1024 KB | Output is correct |
7 | Correct | 3 ms | 1024 KB | Output is correct |
8 | Correct | 3 ms | 1024 KB | Output is correct |
9 | Correct | 2 ms | 896 KB | Output is correct |
10 | Correct | 3 ms | 1024 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 21 ms | 2040 KB | Output is correct |
2 | Correct | 45 ms | 3320 KB | Output is correct |
3 | Correct | 20 ms | 2560 KB | Output is correct |
4 | Correct | 51 ms | 3320 KB | Output is correct |
5 | Correct | 42 ms | 3320 KB | Output is correct |
6 | Correct | 41 ms | 3320 KB | Output is correct |
7 | Correct | 44 ms | 3320 KB | Output is correct |
8 | Correct | 44 ms | 3320 KB | Output is correct |
9 | Correct | 18 ms | 2424 KB | Output is correct |
10 | Correct | 20 ms | 2680 KB | Output is correct |