# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
726778 | penguin133 | Carnival (CEOI14_carnival) | C++17 | 23 ms | 360 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pi pair<int, int>
#define pii pair<int, pi>
#define fi first
#define se second
#ifdef _WIN32
#define getchar_unlocked _getchar_nolock
#endif
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
int qry(vector <int> &a){
cout << (int)a.size() << ' ';
for(auto i : a)cout << i << ' ';
cout << endl;
int ret; cin >> ret;
return ret;
}
int A[200005];
void solve(){
int n; cin >> n;
int cnt = 0;
for(int i=1;i<=n;i++){
int lo = 1, hi = i - 1, ans = 0;
while(lo <= hi){
int mid = (lo + hi) >> 1;
vector <int> x, y;
for(int j=mid;j<i;j++)x.push_back(j);
y = x;
y.push_back(i);
if(qry(x) == qry(y))ans = mid, lo = mid + 1;
else hi = mid - 1;
}
if(!ans)A[i] = ++cnt;
else A[i] = A[ans];
}
cout << "0 ";
for(int i=1;i<=n;i++)cout << A[i] << ' ';
cout << endl;
}
main(){
ios::sync_with_stdio(0);cin.tie(0);
int tc = 1;
//cin >> tc;
for(int tc1=1;tc1<=tc;tc1++){
// cout << "Case #" << tc1 << ": ";
solve();
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |