# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
130288 | PeppaPig | Carnival (CEOI14_carnival) | C++14 | 9 ms | 376 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;
const int N = 105;
int ask(vector<int> &v, int ret = 0) {
printf("%d ", (int)v.size());
for(int i = 0; i < (int)v.size() - 1; i++) printf("%d ", v[i]);
printf("%d\n", v.back()), fflush(stdout);
scanf("%d", &ret);
return ret;
}
int n, a[N];
int main() {
scanf("%d", &n);
vector<int> vec = {1};
for(int i = 2; i <= n; i++) {
vector<int> tmp = vec;
tmp.emplace_back(i);
if(ask(tmp) == tmp.size()) vec = tmp;
}
for(int i = 1; i <= vec.size(); i++) a[vec[i-1]] = i;
for(int i = 1; i <= n; i++) if(!a[i]) {
int l = 1, r = vec.size();
while(l < r) {
int mid = (l + r) >> 1;
vector<int> now;
for(int j = 0; j < mid; j++) now.emplace_back(vec[j]);
now.emplace_back(i);
if(ask(now) == mid) r = mid;
else l = mid + 1;
}
a[i] = a[r];
}
printf("0 ");
for(int i = 1; i <= n; i++) printf("%d ", a[i]);
printf("\n"), fflush(stdout);
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... |