This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "grader.h"
#include <cstdio>
int HC(int N){
	int k=N,kk=0;
	while(k>1)k/=2,kk++;
	k=0;
	if(N==1)return 1;
    int left=1,right=N;
    bool last = 0;
    Guess(left);
    k++;
    while(left+1 < right)
    {
    	//printf("left = %d ,right = %d\n",left,right);
    	int res;
    	int mid=(left+right)/2;
 		if(last==0)
 		{
    		if(k==2*kk )return 1;
 			res = Guess(right);
 			k++;
 			if(res == -1)
 			{
	 			if((left+right)%2==0)right = mid - 1;
 				else right = mid;
	 			//Guess(right);
	 			//last = 1;
    			if(k==2*kk )return 1;
	 			Guess(left);
	 			last = 0;
	 			k++;
	 		}
 			else if(res == 1)
 			{
 				left = mid+1;
 				last = 1;	
 			}
 			else if(res == 0)
 			{
 				return mid;
 			}
 		}
 		else
 		{
    		if(k==2*kk )return 1;
 			res = Guess(left);
 			k++;
 			if(res == -1)
 			{
 				left = mid+1;
    			if(k==2*kk )return 1;
 				//Guess(left);
 				//last = 0;
 				Guess(right);
	 			last = 1;
	 			k++;
 			}
 			else if(res == 1)
 			{
	 			if((left+right)%2==0)right = mid - 1;
 				else right = mid;
 				last = 0;	
 			}
 			else if(res == 0)
 			{
 				return mid;
 			}
 		}
    }
    if(left == right)return left;
    if(k==2*kk )return 1;
    if(right == left+1)
    {
    	//printf("%d %d\n",left,right);
    	int res;
    	if(last == 0)
    	{
    		res = Guess(right);
    		if(res == 1)return right;
    		else return left;
    	}
    	else if(last == 1)
    	{
    		res = Guess(left);
    		if(res == 1)return left;
    		else return right;
    	}
    }
}
Compilation message (stderr)
hottercolder.cpp: In function 'int HC(int)':
hottercolder.cpp:93:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |