Submission #1267302

#TimeUsernameProblemLanguageResultExecution timeMemory
1267302zulmuwZagrade (COI20_zagrade)C++20
0 / 100
488 ms480 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n, q; int ans[100005]; set<int> dosmth(set<int> &st) { set<int> nst; int bfr = *st.begin(); st.erase(bfr); while (!st.empty()) { // cout << st.size() << " :\n" << flush; int now = *st.begin(); st.erase(now); cout << "? " << bfr << " " << now << "\n" << flush; int ret; cin >> ret; if (ret == 1) { ans[bfr] = 1; ans[now] = -1; } bfr = now; // cerr << "-> " << nst.size() << " :\n" << flush; } return nst; } signed main() { cin >> n >> q; vector<int> v(n+1, -1); while (q--) { set<int> st; for (int i = 1; i <= n; ++i) { if (ans[i] == 0) st.insert(i); } if (st.size() == 0) break; dosmth(st); } cout << "! "; for (int i=1; i<=n; ++i) { if (ans[i] == 1) cout << "("; else cout << ")"; } cout << flush; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...