Submission #1152559

#TimeUsernameProblemLanguageResultExecution timeMemory
1152559dzuizzZagrade (COI20_zagrade)C++20
100 / 100
226 ms1336 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
	int n,q; cin>>n>>q;
	char s[n]; fill(s,s+n,'?');
	stack<int> st; st.emplace(0);
	int cnt=n;
	
	for(int i=1;i<n;++i){
		if(st.size()){
			int j=st.top();
			cout<<"? "<<j+1<<" "<<i+1<<endl;
			int x; cin>>x;
			if(x){
				s[j]='(',s[i]=')';
				cnt -= 2;
				st.pop();
			}else
				st.emplace(i);
		}else
			st.emplace(i);
	}
	cnt/=2;
	for(int i=0;i<n;++i) if(s[i]=='?')
		s[i]=(cnt-->0?')':'(');
	cout<<"! ";
	for(auto&c:s)cout<<c;
	cout<<'\n';
	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...