제출 #1106802

#제출 시각아이디문제언어결과실행 시간메모리
11068020pt1mus23Zagrade (COI20_zagrade)C++14
0 / 100
4 ms504 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int #define ins insert #define pb push_back // #define endl '\n' #define putr(x) cout<<x<<endl;return; #define all(x) x.begin(),x.end() const int mod = 1e9 +7, sze = 5e5 +5, inf = INT_MAX, LL = 30; int ask(int l,int r){ cout<<"? "<<l<<" "<<r<<endl; int x;cin>>x; return x; } void rush(){ int n; cin>>n; vector<int> ans(n+1,'_'); stack<int> st; for(int i=1;i<=n;i++){ if(st.empty()){ st.push(i); } else{ if(ask(st.top(),i)){ ans[st.top()]='('; st.pop(); ans[i]=')'; } else{ st.push(i); } } } int qal = st.size()/2; for(int i=1;i<=n;i++){ if( ans[i]=='_' ){ qal--; if(qal>=0){ ans[i]=')'; } else{ ans[i]='('; } } } string res; for(int i=1;i<=n;i++) res+=ans[i]; cout<<"! "<<res<<endl; } signed main(){ // ios::sync_with_stdio(0); // cin.tie(0); int tt = 1; // cin>>tt; while(tt--){ rush(); } 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...