# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
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 }