Submission #229117

#TimeUsernameProblemLanguageResultExecution timeMemory
229117cfalasThe Big Prize (IOI17_prize)C++14
20 / 100
109 ms512 KiB
#include<bits/stdc++.h> using namespace std; #include "prize.h" #define MID ((l+r)/2) typedef vector<int> vi; int N; int rec(int l=0, int r=N-1){ if(l>r) return -1; if(l==r){ vi a = ask(l); if(a[0]+a[1]==0) return l; else return -1; } //cout<<l<<" "<<r<<endl; vi a = ask(MID); int res = -1; if(a[0]) res = max(res, rec(l, MID-1)); if(a[1]) res = max(res, rec(MID+1,r)); if(a[0]+a[1]==0) return MID; return res; } int find_best(int n) { N = n; int l=0, r=n-1; int m; int pos=0; vector<int> res; for(int i=0;i<474 && i<n;i++){ res = ask(i); if(res[0] + res[1] >= sqrt(n)-10){ pos = i; break;} if(res[0]+res[1]==0) return i; } return rec(pos+1,r); }

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:26:6: warning: unused variable 'l' [-Wunused-variable]
  int l=0, r=n-1;
      ^
prize.cpp:27:6: warning: unused variable 'm' [-Wunused-variable]
  int m;
      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...