Submission #60871

#TimeUsernameProblemLanguageResultExecution timeMemory
60871spencercomptonHotter Colder (IOI10_hottercolder)C++17
87 / 100
764 ms8188 KiB
#include "grader.h" #include <bits/stdc++.h> using namespace std; int HC(int N){ int lo = 1; int hi = N; int last = (int)((double)(lo+hi)/3.1); last = max(last,1); last = min(last,N); Guess(last); while(lo<hi){ int now = hi - (last - lo); if(now<1 || now>N){ //idea 1 now = (lo+hi)/2; } now = max(now,1); now = min(now,N); // cout << "!" << lo << " " << hi << " " << last << " " << now << endl; if(now==last && now-1>=lo){ now--; } else if(now==last && now+1<=hi){ now++; } else if(now==last){ assert(false); } int res = Guess(now); if(res==0){ // cout << "RETURN 1 " << (now+last)/2 << endl; return (now+last)/2; } int close = last; int far = now; if(res==1){ swap(close,far); } if(close<far){ int mid = (close+far-1)/2; hi = mid; } else{ int mid = (close+far)/2 + 1; lo = mid; } last = now; } // cout << "RETURN 2 " << lo << endl; return lo; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...