Submission #976903

#TimeUsernameProblemLanguageResultExecution timeMemory
976903efedmrlrZagrade (COI20_zagrade)C++17
100 / 100
549 ms1636 KiB
#include <bits/stdc++.h> #define lli long long int #define ld long double #define pb push_back #define MP make_pair #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define REP(i, n) for(int i = 0; (i) < (n); (i)++) using namespace std; void fastio() { ios_base::sync_with_stdio(false); cin.tie(NULL); } const int N = 1e5 + 5; const int INF = 1e9 + 500; vector<char> res(N); int n, q; bool query(int l, int r) { cout << "? " << l << " " << r << endl; bool x; cin >> x; return x; } void answer() { cout << "! "; for(int i = 1; i <= n; i++) { cout << res[i]; } cout << endl; } void solve() { cin >> n >> q; int l = 1; int ops = n / 2; deque<int> op; op.pb(1); for(int r = 2; r <= n; ) { bool x = query(l, r); if(x) { res[r] = ')'; res[op.back()] = '('; ops--; op.pop_back(); } else { op.pb(r); } r++; if(op.size() > ops) { res[op.front()] = ')'; op.pop_front(); } if(op.empty()) { l = r; r++; op.pb(l); } else { l = op.back(); } } while(ops < op.size()) { res[op.front()] = ')'; op.pop_front(); } while(op.size()) { res[op.back()] = '('; op.pop_back(); } answer(); } signed main() { fastio(); solve(); }

Compilation message (stderr)

zagrade.cpp: In function 'void solve()':
zagrade.cpp:54:22: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   54 |         if(op.size() > ops) {
      |            ~~~~~~~~~~^~~~~
zagrade.cpp:67:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |     while(ops < op.size()) {
      |           ~~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...