Submission #1152418

#TimeUsernameProblemLanguageResultExecution timeMemory
1152418i271828Zagrade (COI20_zagrade)C++20
100 / 100
243 ms1060 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int MAX=100005;
int N=6;
int Q=10;

vector<int> pos;
char ans[MAX];
int main(){
	cin>>N>>Q;
	int l=0;
	int r=1;
	int t=N;
	while (r<N){
		cout<<"? "<<l+1<<" "<<r+1<<"\n";
		bool res;
		cin>>res;
		if (res){
			ans[l]='(';
			ans[r]=')';
			t-=2;
			if (pos.size()) l=pos.back(), pos.pop_back();
			else l=r+1, r=l;
		}else{
			pos.push_back(l);
			l=r;
		}
		r++;
	}
	int x=0;
	for (int i=0;i<N;i++){
		if (ans[i]==0){
			x++;
			if (x*2<=t) ans[i]=')';
			else ans[i]='(';
		}
	}
	cout<<"! ";
	for (int i=0;i<N;i++) cout<<ans[i];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...