Submission #1188690

#TimeUsernameProblemLanguageResultExecution timeMemory
1188690cpdreamerZagrade (COI20_zagrade)C++20
0 / 100
3080 ms664 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; void file(){ freopen("input.txt.txt","r",stdin); freopen("output.txt.txt","w",stdout); } const ll mod=(ll)1e9+7; #define V vector #define P pair #define F first #define S second #define all(v) v.begin(),v.end() #define pb push_back int ask(int l,int r){ cout<<"? "<<l<<" "<<r<<endl; cout.flush(); int x; cin>>x; return x; } void solve() { int n,q; cin>>n>>q; V<int>vp(n+1); vp[1]=1; vp[n]=-1; int l=1; int sum=1; for(int i=2;i<n;i++){ if(vp[i-1]==1){ int x=ask(i-1,i); if(x==1){ vp[i]=-1; } else{ vp[i]=1; } } else{ if(l==1){ vp[i]=1; } else{ int x=ask(l-1,i); if(x==1){ vp[i]=-1; } else vp[i]=1; } } sum+=vp[i]; if(sum>0) { while (l < i && (vp[l-1] != 1 || sum > 0)) { sum -= vp[l+1]; l++; } } else { while (l > 1 && (vp[l-1] != 1 || sum < 0)) { sum += vp[l-1]; l--; } } } string s; for(int i=1;i<=n;i++){ if(vp[i]==1) s+='('; else s+=')'; } cout<<"! "<<s<<endl; } int main(){ // file(); solve(); }

Compilation message (stderr)

zagrade.cpp: In function 'void file()':
zagrade.cpp:5:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    5 |     freopen("input.txt.txt","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
zagrade.cpp:6:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    6 |     freopen("output.txt.txt","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...