Submission #1152532

#TimeUsernameProblemLanguageResultExecution timeMemory
1152532zhehanZagrade (COI20_zagrade)C++20
0 / 100
942 ms864 KiB
#include <bits/stdc++.h> using namespace std; typedef pair<int,int> ii; int main(){ int n, q, check; string ans; vector<int> paired; cin>>n>>q; int ptr=1; int counter=0; while(ptr<n+1){ if(ptr==n){ ptr++; continue; } cout<<"? "<<ptr<<' '<<ptr+1<<endl; cin>>check; if(check==0){ ans+='('; ++ptr; }else{ ans+="()"; int pos=ptr+1; int c=0; int pc=1; while(check==1){ while(!paired.empty()&&pc<=paired.size()&&ptr-c-1==paired[paired.size()-pc]){ ptr-=2; pc++; } if(ptr-c<=1){ break; } cout<<"? "<<ptr-c-1<<' '<<pos+c+1<<endl; cin>>check; if(check==0){ break; } c++; } for(int i=0;i<c;++i){ ans+=')'; } ptr+=(pc-1)*2; paired.push_back(ptr+1); ptr+=c+2; } } while(ans.length()<n){ ans+=')'; } cout<<"! "<<ans; 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...