Submission #1152429

#TimeUsernameProblemLanguageResultExecution timeMemory
1152429zhehanZagrade (COI20_zagrade)C++20
0 / 100
171 ms1036 KiB
#include <bits/stdc++.h>
using namespace std;

typedef pair<int,int> ii;

int main(){
    int n, q, check;
    string ans;
    cin>>n>>q;
    int ptr=1;
    int counter=0;
    vector<int> singlepos;
    vector<ii> doublepos;
    while(ptr<n+1){
        if(ptr==n){
            singlepos.push_back(ptr);
            ptr++;
            continue;
        }
        cout<<"? "<<ptr<<' '<<ptr+1<<endl;
        cin>>check;
        if(check == 0){
            singlepos.push_back(ptr);
            ++ptr;
            ++counter;
        }else{
            doublepos.push_back(ii(ptr,ptr+1));
            ptr+=2;
            counter=0;
        }
    }
    char a[n+1];
    for(int i=0;i<singlepos.size();++i){
        if(i+1<=singlepos.size()/2){
            a[singlepos[i]]='(';
        }else{
            a[singlepos[i]]=')';
        }
    }
    for(auto e:doublepos){
        a[e.first]='(';
        a[e.second]=')';
    }
    cout<<"! ";
    for(int i=1;i<=n;++i){
        cout<<a[i];
    }
    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...