# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
790690 | 2023-07-23T06:12:58 Z | ttamx | The Big Prize (IOI17_prize) | C++14 | 3 ms | 5012 KB |
#include "prize.h" #include<bits/stdc++.h> using namespace std; const int N=2e5+5; struct fenwick{ int t[N]; void add(int i,int v){ while(i<N)t[i]+=v,i+=i&-i; } int read(int i){ int res=0; while(i>0)res+=t[i],i-=i&=-i; return res; } }f; int n; int ans=-1; vector<vector<int>> mem(N); vector<int>& ask2(int x){ if(mem[x].empty())mem[x]=ask(x); return mem[x]; } void bsearch(){ int l=0,r=n-1; while(l<r){ int m=(l+r)/2; auto &res=ask2(m); if(res[0]+res[1]==0)return void(ans=m); if(res[0]){ res[0]--; r=m-1; }else{ res[1]--; l=m+1; } } } int find_best(int _n) { n=_n; int l=0,r=n-1; while(ans==-1)bsearch(); return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 4944 KB | Output is correct |
2 | Correct | 2 ms | 4944 KB | Output is correct |
3 | Correct | 3 ms | 5008 KB | Output is correct |
4 | Incorrect | 2 ms | 4944 KB | answer is not correct |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 4944 KB | Output is correct |
2 | Correct | 3 ms | 4944 KB | Output is correct |
3 | Correct | 3 ms | 5012 KB | Output is correct |
4 | Incorrect | 3 ms | 5012 KB | answer is not correct |
5 | Halted | 0 ms | 0 KB | - |