제출 #1330883

#제출 시각아이디문제언어결과실행 시간메모리
1330883kevinsMađioničar (COI22_madionicar)C++20
13 / 100
495 ms412 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
	ll n;
	cin >> n;

	ll len = 1;

	auto extend = [&](ll end){
		ll start = end - len;
		if (start <= 0) return 0LL;
		cout << "? " << start << " " << end << "\n";
		cout.flush();
		ll ok1;
		cin >> ok1;
		
		ll start2 = end - len - 1;
		if (start2 < 1) return ok1;

		cout << "? " << start2 << " " << end << "\n";
		cout.flush();

		ll ok2;
		cin >> ok2;

		if (ok2) return 2LL;
		else if (ok1) return 1LL;
		else return 0LL;
	};

	for (ll i = 2; i <= n; ++i){
		while (true){
			ll res = extend(i);
			if (res == 0) break;
			len += res;
		}
	}

	cout << "! " << len << "\n";
	cout.flush();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...