Submission #554287

#TimeUsernameProblemLanguageResultExecution timeMemory
554287leakedZagrade (COI20_zagrade)C++17
71 / 100
713 ms716 KiB
#include <bits/stdc++.h> #define f first #define s second #define m_p make_pair #define pb push_back #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define pw(x) (1LL<<(x)) #define sz(x) (int)(x).size() using namespace std; typedef long long ll; typedef pair<int,int> pii; template<class T> bool umin(T &a,const T &b){return (a>b?a=b,1:0);} template<class T> bool umax(T &a,const T &b){return (a<b?a=b,1:0);} signed main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,q; cin>>n>>q; stack<int> st; st.push(0); auto ask=[&](int l,int r){ cout<<"? "<<l+1<<' '<<r+1<<endl; cout.flush(); int x; cin>>x; return x; }; string ans(n,'('); for(int i=1;i<n;i++){ if(sz(st) && ask(st.top(),i)){ st.pop();ans[i]=')'; } else st.push(i); } cout<<"! "<<ans; cout.flush(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...