# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
475695 | ZaZo_ | Carnival (CEOI14_carnival) | C++14 | 8 ms | 200 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>
#define HID ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define all(v) v.begin(),v.end()
const int N = 2010 , INF = 1e15;
using namespace std;
int n , x , all;
int ans[160] = {0};
int check(vector<int>v)
{
cout<<v.size()<<" ";
for(int i = 0 ; i < v.size() ; i++) cout<<v[i]<<" ";
cout<<endl;
cin >> x;
return x;
}
int32_t main() {
//HID
cin >> n;
cout<<n<<" ";
for(int i = 1 ; i <= n ; i ++)
{
cout<<i<<" ";
}
cout<<endl;
cin>>x;
for(int i = 0 ; i <= n ; i++) ans[i]=x;
vector<int>in;
ans[1]=1;
in.push_back(1);
for(int i = 2 ; i <= n ; i++)
{
in.push_back(i);
if(check(in) == in.size()) ans[i] = in.size();
else
{
in.pop_back();
int l = 0 , r = in.size()-1 , cur=-1;
while(l<r)
{
int mid = (l+r)/2;
vector<int>out;
for(int j = 0 ; j <= mid ; j++) out.push_back(in[j]);
out.push_back(i);
if(check(out) == out.size()-1)
r = mid-1 , cur = mid;
else l = mid+1;
}
// cout<<i <<"!"<< in[cur]<<endl;
if(cur!=-1) ans[i] = ans[in[cur]];
}
}
cout<<"0 ";
for(int i = 1 ; i <= n ; i++) cout<<ans[i]<<" ";
}
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... |