Submission #402029

#TimeUsernameProblemLanguageResultExecution timeMemory
402029phathnvHotter Colder (IOI10_hottercolder)C++11
81 / 100
736 ms8100 KiB
#include "grader.h" #include<iostream> int HC(int n){ if (n == 1) return 1; int l, r, mid = (n + 1) / 2, pre = mid + 1; Guess(mid); if (Guess(mid + 1) == 1) l = mid + 1, r = n; else l = 1, r = mid; while (l < r){ //std::cerr << l << ' ' << r << ' ' << pre << std::endl; mid = (l + r + (pre <= l)) >> 1; int nxt = 2 * mid - pre; if (nxt < 1) nxt = 1; if (nxt > n) nxt = n; mid = (pre + nxt) / 2; int d = ((pre + nxt) % 2 == 0); //std::cerr << mid << ' ' << nxt << ' ' << d << std::endl; int x = Guess(nxt); if (x == 0) return mid; if (pre < nxt){ if (x == 1) l = mid + d; else r = mid - d; } else { if (x == 1) r = mid - d; else l = mid + d; } pre = nxt; } return l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...