Cod sursa(job #2930945)

Utilizator TudosieRazvanTudosie Marius-Razvan TudosieRazvan Data 29 octombrie 2022 21:32:18
Problema Cbinteractiv Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <climits>
#include <vector>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <bitset>
#include <map>
#include <cstring>
#include <algorithm>
#define NMAX 2003
#define MOD 1000000007
using namespace std;

int n;


//FILE* fin, * fout;



int main()
{
	//fin = fopen("submultimi.in", "r");
	//fout = fopen("submultimi.out", "w");

	cin >> n;


	int st = 1, dr = n;
	while (st <= dr)
	{
		int mij = (st + dr) / 2;

		cout << "? " << mij<<"\n";
		cout.flush();
		int val;
		cin >> val;
		if (val == 1) {
			dr = mij - 1;
		}
		else if (val == 0)
		{
			st = mij + 1;
		}
		else if (val == -1)
		{
			return 0;
		}
	}

	cout << "! " << st << "\n";
	cout.flush();
	return 0;
}