Submission #532273

#TimeUsernameProblemLanguageResultExecution timeMemory
532273devariaotaCarnival (CEOI14_carnival)C++17
0 / 100
9 ms200 KiB
#include <bits/stdc++.h> using namespace std; int main(){ cin.tie(0) -> ios_base::sync_with_stdio(0); int n; cin >> n; vector<int> a(n + 1), q(n + 1); auto ask = [&](int l, int r) -> int { cout << r - l + 1 << " "; for(int i=l;i<=r;i++) { cout << i << " "; } cout << endl; int ret; cin >> ret; return ret; }; auto ask2 = [&](int l, int r, int x) -> int{ cout << r - l + 2 << " "; for(int i=l;i<=r;i++) { cout << q[i] << " "; } cout << x << endl; int ret; cin >> ret; return ret; }; for(int i=1,cur=0;i<=n;i++) { // cout << ":: " << i << " " << cur << endl; // cout << "! "; // for(int i=1;i<=cur;i++) // { // cout << q[i] << " "; // } // cout << endl; int t = ask(1, i); if(t > cur) { cur++; q[cur] = i; a[i] = cur; } else { int l = 1, r = cur; while(l <= r){ // cout << "-> " << l << " " << r << endl; int mid = (l + r) / 2; int z = ask2(l, mid, i); if(z == mid - l + 2) { l = mid + 1; } else { r = mid - 1; } } a[i] = q[l]; } } cout << "0 "; for(int i=1;i<=n;i++) { cout << a[i] << " "; } cout << endl; }
#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...