Cod sursa(job #2784511)

Utilizator GrandMaster_001Beth Harmon GrandMaster_001 Data 16 octombrie 2021 16:47:22
Problema Cbinteractiv Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
	int n, contor=true;
	cin >> n;
	int stanga, dreapta, mijloc;
	stanga=1;
	dreapta=n;
	while(stanga<=dreapta && contor)
	{
	
		mijloc=(stanga+dreapta)/2;
		cout <<"? "<< mijloc << endl;
		int raspuns;
		cin >> raspuns;
		if(raspuns==1)
		{
			cout <<"? "<< mijloc-1 << endl;
			cin >> raspuns;
			if(raspuns==0)
			{
				cout <<"! "<< mijloc;
				contor=false;
			}
			else
				{
					stanga=1;
					dreapta=mijloc-2;
				}
		}
		else
		{
			stanga=mijloc+1;
			dreapta=n;
		}
	}
		
}