Submission #234698

#TimeUsernameProblemLanguageResultExecution timeMemory
234698Nodir_BobievHotter Colder (IOI10_hottercolder)C++14
85 / 100
699 ms8184 KiB
#include "grader.h"
#include <algorithm>
using namespace std;
int solve( int l, int r, int prevRequest){
   if( l == r ) return l;
   int m = (l+r)>>1;
   if( m == prevRequest && m != l ) m=m-1;
   else if( m == prevRequest ) m=m+1;
   int res1 = Guess(m);
   if( res1 == 0 ){
      return (m+prevRequest)/2;
   }
   if( res1 == 1 ){
      if( prevRequest < m )
         return solve(max(l,(m+prevRequest)/2+1), r, m);
      else
         return solve(l, min(r, (m+prevRequest-1)/2), m);
   }
   
   if( prevRequest < m ){
      return solve(l, min(r, (prevRequest+m-1)/2), m);
   }else{
      return solve(max(l, (prevRequest+m)/2+1), r, m);
   }
   
}
int HC(int N){
   Guess(N);
   return solve(1, N, N);   
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...