Submission #1263174

#TimeUsernameProblemLanguageResultExecution timeMemory
1263174goulthenZagrade (COI20_zagrade)C++20
100 / 100
233 ms1640 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ll long long #define pii pair<int, int> #define fi first #define se second #define rep(i, a, b) for (int i = a; i <= b; ++i) #define per(i, b, a) for (int i = b; i >= a; --i) #define pb push_back #define all(v) (v).begin(), (v).end() const int MAXN = 2e5 + 10; const int INF = 1e18 + 5; const int MOD = 1e9 + 7; int query(int l, int r) { int ans; cout << "? " << l << " " << r << endl; cin >> ans; return ans; } int32_t main() { int n,q;cin >> n >> q; char pfx[n+10] = {}; vector<int> idx; rep(i,1,n) { if (idx.empty()) { idx.pb(i); continue; } int x = query(idx.back(),i); if (x == 1) { pfx[idx.back()] = '('; pfx[i] = ')'; idx.pop_back(); } else { idx.pb(i); } } rep(i,0,(int)idx.size()-1) pfx[idx[i]] = (i < idx.size()/2 ? ')' : '('); cout << "! "; rep(i,1,n) cout << pfx[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...