Submission #1284548

#TimeUsernameProblemLanguageResultExecution timeMemory
1284548oscar1fZagrade (COI20_zagrade)C++20
71 / 100
259 ms5220 KiB
#include<bits/stdc++.h> using namespace std; #define int long long const int MAX_VAL=100*1000+5; int nbVal,nbReq; char rep[MAX_VAL]; set<int> enCours; set<int>::iterator suiv(set<int>::iterator it) { it++; return it; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>nbVal>>nbReq; for (int i=1;i<=nbVal;i++) { enCours.insert(i); } auto it=enCours.begin(); while (it!=enCours.end() && suiv(it)!=enCours.end()) { cout<<"? "<<*it<<" "<<*(suiv(it))<<endl; int ans; cin>>ans; if (ans==0) { it++; } else if (it==enCours.begin()) { rep[*it]='('; rep[*(suiv(it))]=')'; it=enCours.erase(it); it=enCours.erase(it); } else { rep[*it]='('; rep[*(suiv(it))]=')'; it=enCours.erase(it); it=enCours.erase(it); it--; } } int reste=enCours.size()/2; for (int i:enCours) { if (reste>0) { rep[i]=')'; } else { rep[i]='('; } } cout<<"! "; for (int i=1;i<=nbVal;i++) { cout<<rep[i]; } cout<<endl; 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...