Submission #1006058

#TimeUsernameProblemLanguageResultExecution timeMemory
1006058MarwenElarbiZagrade (COI20_zagrade)C++17
100 / 100
602 ms1572 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #define fi first #define se second #define ll long long #define pb push_back #define ii pair<int,int> const int nax=(1<<16); int main() { int n,q; cin>>n>>q; stack<int> st; st.push(1); int ans[n+1]; memset(ans,-1,sizeof ans); for (int i = 2; i <= n; ++i) { if(!st.empty()){ cout <<"? "<< st.top() << " " << i<<endl; int c; cin>>c; if(c==1){ ans[st.top()]=0; ans[i]=1; st.pop(); }else st.push(i); }else st.push(i); } int m=st.size(); for (int i = 0; i < m/2; ++i) { ans[st.top()]=0; st.pop(); } for (int i = 0; i < m/2; ++i) { ans[st.top()]=1; st.pop(); } cout << "! "; for (int i = 1; i <= n; ++i) { if(ans[i]==1) cout <<")"; else cout <<"("; }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...