Submission #1152320

#TimeUsernameProblemLanguageResultExecution timeMemory
1152320itslqZagrade (COI20_zagrade)C++20
0 / 100
0 ms420 KiB
#include <bits/stdc++.h> using namespace std; vector<int> ans; bool query(int l, int r) { bool v; cout << "? " << l << " " << r << endl; cin >> v; return v; } void solve(int l, int r) { if (l >= r) return; ans[l] = 0; ans[r] = 1; bool L, R; if (l + 1 == r) return; L = query(l, l + 1); R = query(r - 1, r); ans[l + 1] = L; ans[r - 1] = !R; if (L && R) { solve(l + 2, r - 2); } else if (L) { ans[l + 2] = 0; solve(l + 3, r - 1); } else if (R) { ans[r - 2] = 1; solve(l + 1, r - 3); } else { solve(l + 2, r - 2); } } int main() { int N, Q; cin >> N >> Q; ans = vector<int>(N, -1); solve(0, N - 1); cout << "! "; for (int i = 0; i < N; i++) cout << (ans[i] ? ')' : '('); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...