Cod sursa(job #3183929)

Utilizator MihneaStoicaMihnea Teodor Stoica MihneaStoica Data 13 decembrie 2023 18:30:14
Problema Cbinteractiv Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>

#define debug(str) if (debug) cout << str << '\n'

using namespace std;

/// Default functions

void files(const string& in, const string& out)
{
	if (!in.empty()) freopen(in.c_str(), "r", stdin);
	if (!out.empty()) freopen(out.c_str(), "w", stdout);
}

/// Global variables

bool debug = false; /// true if debugging
bool use_files = false; /// true if the program is using files

/// Custom global variables & functions

int main()
{
	if (use_files) files("", "");

	int n; cin >> n;

	int t = 2, lo = 0, hi = n + 1, ans = 0;

	while (lo + 1 < hi)
	{
		int mid = (lo + hi) / 2;
		cout << "? " << mid << endl;
		cin >> t;
		if (t == 1)
		{
			ans = mid;
			hi = mid;
		}
		else if (t == 0)
		{
			lo = mid;
		}
	}

	cout << "! " << ans << '\n';

	system("pause");
	return 0;
}

/**

4^N - 4*3^(N-1)

*/