Submission #1150940

#TimeUsernameProblemLanguageResultExecution timeMemory
1150940dolphyZagrade (COI20_zagrade)C++20
0 / 100
0 ms432 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pb(a) push_back(a) #define pp pop_back #define mp(a, b) make_pair(a, b) int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, q; cin >> n >> q; set <int> s; set <int>::iterator x, y, it, it2; bool valid; char bracks[n+1]; memset(bracks, 0, sizeof(bracks)); for (int i=1; i<=n; i++) s.insert(i); x=s.begin(); y=s.begin(); y++; for (int i=1; i<n; i++) { cout << "? " << *x << " " << *y << "\n" << flush; cin >> valid; if (valid) { bracks[*x]='('; bracks[*y]=')'; it=s.upper_bound(*y); s.erase(x); s.erase(y); if (s.empty()) break; it2=s.begin(); if (it==it2) { x=it; y=it; y++; } else { y=it; it--; x=it; } } else {x++; y++;} } int cnt=0, cur=0; for (int i=1; i<=n; i++) if (bracks[i]==0) cnt++; cnt/=2; for (int i=1; i<=n; i++) { if (bracks[i]==0) { cur++; if (cur>cnt) cout << "("; else cout << ")"; } else cout << bracks[i]; } cout << "\n"; 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...