제출 #554309

#제출 시각아이디문제언어결과실행 시간메모리
554309leakedZagrade (COI20_zagrade)C++17
100 / 100
850 ms1232 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() #define vec vector 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; vec<int> st; st.pb(0); auto ask=[&](int l,int r){ cout<<"? "<<l+1<<' '<<r+1<<endl; cout.flush(); int x; cin>>x; return x; }; string ans(n,'('); vec<int>cnt(2,0); ++cnt[0]; for(int i=1;i<n;i++){ if(sz(st) && ask(st.back(),i)){ st.pop_back();ans[i]=')'; ++cnt[1]; } else st.pb(i),++cnt[0]; } int need=n/2; int j=0; int how=cnt[0]-need; // cout<<cnt[0] // for(int i=0;i<) for(auto &z : st){ if(!how) break; --how; --cnt[0]; ++cnt[1]; ans[z]=')'; } assert(cnt[0]==need && cnt[1]==need); cout<<"! "<<ans; cout.flush(); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

zagrade.cpp: In function 'int main()':
zagrade.cpp:43:9: warning: unused variable 'j' [-Wunused-variable]
   43 |     int j=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...