#include <bits/stdc++.h>
using namespace std;
#define int long long
#define OYY 10000000005
#define mod 1000000007
char dizi[100005];
vector <int> q;
bool kes[100005];
vector <pair<pair<int,int>,int>> de;
int ko=0;
int sor(int x,int y){
cout<<"? "<<x<<" "<<y<<" ";
cout<<'\n';
int m;cin>>m;
cout<<'\n';
de.push_back({{x,y},m});
return m;
}
int32_t main(){
int n,k;cin>>n>>k;
dizi[1]='(';
q.push_back(1);
for(int i=2;i<=n;i++){
if(q.size() && sor(q.back(),i)){
dizi[i]=')';
ko+=1;
q.pop_back();
}
else{
dizi[i]='(';
q.push_back(i);
}
}
k-=n-1;
while(k>=0 && q.size()){
int i;
if(q.size())i=q[0];
else i=2;
for(;i<=n;i++){
if(q.size() && sor(q.back(),i)){
dizi[i]=')';
//kes[i]=1;
ko+=1;
q.pop_back();
}
else{
dizi[i]='(';
q.push_back(i);
}
}
k-=n-1;
}
/*int gec=q.size()/2;
for(int i=0;i<=gec-1;i++){
dizi[q[i]]=')';
}*/
cout<<"! ";
for(int i=1;i<=n;i++)cout<<dizi[i]<<" ";
cout<<'\n';
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
208 KB |
Answer length should be 2, but it is 1 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
0 ms |
208 KB |
Execution killed with signal 13 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
256 KB |
Answer length should be 4, but it is 1 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
0 ms |
208 KB |
Execution killed with signal 13 |
2 |
Halted |
0 ms |
0 KB |
- |