Submission #289161

#TimeUsernameProblemLanguageResultExecution timeMemory
289161Bill_00The Big Prize (IOI17_prize)C++14
0 / 100
104 ms1304 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; int ans,m; int p[200001]={0}; 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[0]==0){ l=mid+1; mid=mid+1+r>>1; search(mid,l,r); } if(res[1]==0){ r=mid-1; mid=mid+1+r>>1; search(mid,l,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:17:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   17 |   mid=mid+1+r>>1;
      |       ~~~~~^~
prize.cpp:22:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   22 |   mid=mid+1+r>>1;
      |       ~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...