Submission #781313

#TimeUsernameProblemLanguageResultExecution timeMemory
781313makanhuliaZagrade (COI20_zagrade)C++17
100 / 100
809 ms1204 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define endl "\n" #define pii pair<ll,ll> #define pb push_back #define vi vector<ll> #define pque priority_queue #define pqueg priority_queue<ll,vector<ll>,greater<ll>> #define que queue<ll> #define FOR(m,i,n) for(int i=(m); i<=(n); i++) #define FORM(m,i,n) for(int i=(m); i>=(n); i--) ll n,q,temp; ll a,cnt; stack<ll> st; char ans[100100]; int main() { cin >> n >> q; FOR(1,i,n) { if(!st.empty()) { cout << "? " << st.top() << " " << i << endl; cin >> a; if(a == 1) { ans[st.top()] = '('; ans[i] = ')'; cnt += 2; st.pop(); } else { st.push(i); } } else { st.push(i); } } cnt = n - cnt; temp = cnt; FOR(1,i,n) { if(temp > cnt/2 && ans[i] != ')' && ans[i] != '(') { ans[i] = ')'; temp--; } else if(ans[i] != ')' && ans[i] != '(') { ans[i] = '('; } } cout << "! "; FOR(1,i,n) { cout << ans[i]; } cout << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...