Submission #920287

#TimeUsernameProblemLanguageResultExecution timeMemory
920287ErJZagrade (COI20_zagrade)C++17
0 / 100
1 ms460 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define vi vector<ll> #define vvi vector<vector<ll>> #define vs vector<string> #define vc vector<char> #define vb vector<bool> #define vp vector<pair<ll, ll>> #define pp pair<ll, ll> #define qi queue<ll> #define qp queue<pp> #define pqi priority_queue<ll> #define pqp priority_queue<pp> #define mi map<ll, ll> #define mpi map<pp, ll> #define mip map<ll, pp> #define mpp map<pp, pp> #define mb map<ll, bool> #define si set<ll> #define sp set<pp> #define mod 1000000007 #define rep(a, b) for(int a = 0; a < (b); a++) #define inf 1000000000000000000 int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, q; cin >> n >> q; vector<int> pos(n); vector<int> left(n); rep(i, n) { left[i] = i - 1; pos[i] = 0; } int x = 0; for (int i = 1; i < n; i++) { cout << "? " << left[i] << " " << i << endl; cout.flush(); int ans; cin >> ans; if (ans == 1) { x++; pos[left[i]] = 1; pos[i] = -1; if (i < n - 1) { left[i + 1] = left[left[i]]; } } } x *= 2; int y = (n - x) / 2; int akt = 0; string s = ""; for (int i = 0; i < n; i++) { if (pos[i] == 0) { if (akt < y) { pos[i] = -1; } else { pos[i] = 1; } akt++; } if (pos[i] == 1) { s += "("; } else { s += ")"; } } cout << s << endl; 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...