Submission #773671

#TimeUsernameProblemLanguageResultExecution timeMemory
773671vjudge1Zagrade (COI20_zagrade)C++17
0 / 100
1 ms256 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define OYY 10000000005 #define mod 1000000007 char dizi[100005]; vector <int> q; bool kes[100005]; vector <pair<pair<int,int>,int>> de; int ko=0; int sor(int x,int y){ cout<<"? "<<x<<" "<<y<<" "; cout<<'\n'; int m;cin>>m; cout<<'\n'; de.push_back({{x,y},m}); return m; } int32_t main(){ int n,k;cin>>n>>k; dizi[1]='('; q.push_back(1); for(int i=2;i<=n;i++){ if(q.size() && sor(q.back(),i)){ dizi[i]=')'; ko+=1; q.pop_back(); } else{ dizi[i]='('; q.push_back(i); } } k-=n-1; while(k>=0 && q.size()){ int i; if(q.size())i=q[0]; else i=2; for(;i<=n;i++){ if(q.size() && sor(q.back(),i)){ dizi[i]=')'; //kes[i]=1; ko+=1; q.pop_back(); } else{ dizi[i]='('; q.push_back(i); } } k-=n-1; } /*int gec=q.size()/2; for(int i=0;i<=gec-1;i++){ dizi[q[i]]=')'; }*/ cout<<"! "; for(int i=1;i<=n;i++)cout<<dizi[i]<<" "; cout<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...