Submission #1319826

#TimeUsernameProblemLanguageResultExecution timeMemory
1319826WH8Mađioničar (COI22_madionicar)C++17
0 / 100
491 ms332 KiB
#include <bits/stdc++.h>
using namespace std;
#define mp make_pair
#define int long long
#define pb push_back
#define f first
#define s second
#define ld long double
#define sz(x) static_cast<int>((x).size())
#define i5 tuple<int,int,int,int,int>
#define all(x) x.begin(), x.end()
#define iii tuple<int,int,int>
#define eb emplace_back
signed main(){
	int n;cin>>n;
	int ans=1;
	auto ask=[&](int x, int l)->bool{
		int zuo, you;
		if(l%2==0) zuo=x-l/2, you=x+l/2-1;
		else zuo=x-l/2, you=x+l/2;
		if(zuo < 1 or you > n)return 0;
		bool res; cout<<"? "<<zuo<<" "<<you<<endl;
		cin>>res;
		return res;
	};
	for(int i=2;i<=n;i++){
		if(ask(i, ans+2))ans=ans+2;
		else if(ask(i, ans+1))ans=ans+1;
	}
	cout<<"! " <<ans<<endl;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...