# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
119610 | 2019-06-21T12:51:16 Z | Plurm | Hotter Colder (IOI10_hottercolder) | C++11 | 0 ms | 0 KB |
#include "grader.h" #include <cstdio> int HC(int N){ int lo = 1; int hi = N; while(hi - lo > 10){ Guess(lo); int r = Guess(hi); if(r > 0){ lo = (lo + hi)/2 + 1; }else if(r == 0){ return (lo + hi)/2; }else{ hi = (lo + hi - 1)/2; } } int last = -1; for(int i = lo; i <= hi; i += 2){ int cur = Guess(i); if(last == -1){ last = cur; continue; } if(cur == -1) return i-2; if(cur == 0) return i-1; last = cur; } if((hi - lo) % 2 == 1){ int cur = Guess(hi); if(cur == 1) return hi; else return hi-1; } return hi }