제출 #1152656

#제출 시각아이디문제언어결과실행 시간메모리
1152656itslqZagrade (COI20_zagrade)C++20
100 / 100
1091 ms1440 KiB
#include <bits/stdc++.h> using namespace std; bool query(int l, int r) { bool v; cout << "? " << l << " " << r << endl; cin >> v; return v; } int main() { int N, Q, j; cin >> N >> Q; vector<int> ans(N + 5, 0); for (int i = 1; i < N; i++) { if (ans[i]) continue; int l = i, r = i + 1; while (r <= N && l >= 1) { while (l > 1 && ans[l]) l--; if (query(l, r)) { ans[l] = 1; ans[r] = -1; r++; l--; } else break; } } int E = 0; vector<int> empty; for (int i = 1; i <= N; i++) { if (!ans[i]){ empty.push_back(i); E++; } } for (int i = 0; i < E; i++) { ans[empty[i]] = (i < E / 2 ? -1 : 1); } cout << "! "; for (int i = 1; i <= N; i++) { if (ans[i] == 1) cout << "("; else cout << ")"; } 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...