# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
918192 | AtabayRajabli | Carnival (CEOI14_carnival) | C++17 | 2 ms | 344 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>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
// author : a1abay
// (a / b) % c = (a * b ^ (mod - 2)) % c;
#define pb push_back
#define pii pair<int, int>
#define pll pair<ll, ll>
#define all(v) v.begin(), v.end()
#define whole(a) a+1, a+1+n
#define se second
#define fi first
#define int ll
#define print(k) cerr << "Ans : "; cout << k << endl;
#define ins insert
#define bpc __builtin_popcountll
#define skip continue
#define endll '\n'
#define gcd(a, b) __gcd(a, b)
#define lcm(a, b) (a*b / (__gcd(a, b)))
#define mpr make_pair
#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
const int sz = 5e5 + 5;
using namespace std;
void open(string s, string f)
{
freopen((s + ".txt").c_str(), "r", stdin);
freopen((f + ".txt").c_str(), "w", stdout);
}
const int mod = 1e9 + 7;
int P = 37;
int n;
void solve()
{
cin >> n;
vector<int> v;
int ans[n + 1] = {0};
ans[1] = 1;
v.pb(1);
int last = 1, ind = 2;
for(int i = 2; i <= n; i++)
{
v.pb(ind);
for(int j : v)cout << j << " ";
cout << endl;
int cnt;
cin >> cnt;
if(cnt == last + 1)
{
ans[i] = ind;
last = cnt;
ind++;
}
else
{
v.pop_back();
int l = 0, r = v.size() - 1;
while (l <= r)
{
int mid = (l + r) / 2;
for(int j = l; j <= mid; j++)cout << v[j] << " ";
cout << ind << endl;
int cnt;
cin >> cnt;
if(cnt == mid - l + 1 + 1)l = mid + 1;
else r = mid - 1;
}
ans[i] = v[r + 1];
ind++;
}
}
map<int, int> c;
for(int i = 1; i<= n; i++)c[ans[i]];
int cnt = 1;
for(pii p : c)
{
c[p.fi] = cnt++;
}
cout << 0 << " ";
for(int i = 1; i <= n; i++)cout << c[ans[i]] << " ";
cout << endl;
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// open("in", "out");
int t = 1;
// cin >> t;
while(t--)
{
solve();
}
return 0;
}
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... |