Submission #651089

#TimeUsernameProblemLanguageResultExecution timeMemory
651089_HDHZagrade (COI20_zagrade)C++11
100 / 100
834 ms896 KiB
#include <bits/stdc++.h> #ifdef LOCAL #include <debug.h> #else #define debug(...) 1001 #endif using namespace std; #define all(x) x.begin(), x.end() #define st first #define nd second #define lb lower_bound #define ub upper_bound #define sz(x) (int)x.size() #define pb push_back #define pob pop_back #define pf push_front #define pof pop_front #define file "TEMPLATE" typedef long long ll; typedef pair<int, int> ii; typedef array<int, 3> iii; typedef vector<int> vi; typedef vector<ll> vl; bool const SINGLE_TEST = 1; bool ask(int l, int r){ cout << "? " << l << " " << r << "\n"; cout.flush(); bool ans; cin >> ans; return ans; } void answer(string s){ cout << "!" << s << "\n"; cout.flush(); } void solve(){ int n, q; cin >> n >> q; string s(n + 1, ' '); stack<int> st; for (int i = 1; i <= n; i++){ if (!st.empty() && ask(st.top(), i)){ s[st.top()] = '('; s[i] = ')'; st.pop(); }else st.push(i); } int z = st.size() / 2; while (!st.empty()){ if (st.size() <= z) s[st.top()] = ')'; else s[st.top()] = '('; st.pop(); } answer(s); } int main(){ ios_base::sync_with_stdio(0);// the cin.tie(0);cout.tie(0);// magical lines // freopen(file".inp", "r", stdin); // freopen(file".out", "w", stdout); int t; if (SINGLE_TEST) t = 1; else cin >> t; while (t--) solve(); return 0; }//it's coding time!

Compilation message (stderr)

zagrade.cpp: In function 'void solve()':
zagrade.cpp:57:17: warning: comparison of integer expressions of different signedness: 'std::stack<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   57 |   if (st.size() <= z) s[st.top()] = ')';
      |                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...