Submission #289170

#TimeUsernameProblemLanguageResultExecution timeMemory
289170Bill_00The Big Prize (IOI17_prize)C++14
20 / 100
88 ms1400 KiB
#include <prize.h> #include <bits/stdc++.h> using namespace std; int ans,m; void search(int mid,int l,int r){ vector<int>res=ask(mid); if(res[0]+res[1]==0){ ans=mid; return; } if(l==r){ return; } if(res[1]==0){ search((mid-1+l)>>1,l,mid-1); } if(res[0]==0){ search(mid+1+r>>1,mid+1,r); } if(res[1]!=0 && res[0]!=0){ search((l+mid-1)/2,l,mid-1); search((mid+1+r)/2,mid+1,r); } } int find_best(int n){ m=n; /*for(int i = 0; i < n; i++) { std::vector<int> res = ask(i); if(res[0] + res[1] == 0) return i; }*/ int l=0,r=n-1; int mid=(l+r)>>1; search(mid,l,r); return ans; }

Compilation message (stderr)

prize.cpp: In function 'void search(int, int, int)':
prize.cpp:18:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   18 |   search(mid+1+r>>1,mid+1,r);
      |          ~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...