#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f first
#define s second
#define pb push_back
#define ld long double
#define pll pair<int, int>
signed main(){
int n, q;cin>>n>>q;
vector<int> s;
vector<char> res(n);
for(int i=1;i<=n;i++){
if(!s.empty()){
printf("? %lld %lld\n", s.back(), i);
fflush(stdout);
int ans;
cin>>ans;
if(ans){
res[s.back()]='(';
res[i]=')';
s.pop_back();
}
else{
s.push_back(i);
}
}
else{
s.push_back(i);
}
}
//~ assert(s.size()%2==0);
for(int i=0;i<s.size();i++){
if(i<s.size()/2){
res[s[i]]=')';
}
else{
res[s[i]]='(';
}
}
cout<<"! ";
for(int i=1;i<=n;i++){
cout<<res[i];
}
cout<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |