Submission #1326657

#TimeUsernameProblemLanguageResultExecution timeMemory
1326657JelaByteEngineerCarnival (CEOI14_carnival)C++20
0 / 100
3 ms424 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; int ask (vector <int> &arr) { cout<<arr.size()<<" "; for (auto i: arr) cout<<i<<" "; cout<<endl; int res; cin>>res; return res; } int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin>>n; vector <int> pr, tr; vector <int> klasa(n); klasa[0]=1; int preth=1, maksklasa=1; pr.push_back(1); tr.push_back(1); for (int i=2; i<=n; i++) { tr.push_back(i); if (ask(tr)==preth+1) { pr.push_back(i); maksklasa++; klasa[i-1]=maksklasa; preth++; } else { int ans=-1, l=0, r=pr.size()-1; while (l<=r) { int mid=l+(r-l)/2; vector <int> pom; pom.push_back(i); pom.push_back(pr[mid]); if (ask(pom)==1) { ans=pr[mid]; break; } vector <int> first, second; for (int j=l; j<mid; j++) { first.push_back(pr[j]); } first.push_back(i); for (int j=mid+1; j<=r; j++) { second.push_back(pr[j]); } second.push_back(i); if (ask(first)==first.size()) { if (first.size()==1) { ans=first[0]; } r=mid-1; } else { l=mid+1; } } klasa[i-1]=ans; } } cout<<0<<" "; for (auto i: klasa) cout<<i<<" "; cout<<endl; 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...
#Verdict Execution timeMemoryGrader output
Fetching results...