# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
36409 | mohammad_kilani | Carnival (CEOI14_carnival) | C++14 | 43 ms | 3188 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 mod 1000000007
#define oo 2000000000
const int N = 300010;
int num[N];
int ask(int l,int r){
if(r == l) return 1;
printf("%d",r-l+1);
for(int i=l;i<=r;i++) printf(" %d",i);
puts("");
fflush(stdout);
int res ;
scanf("%d",&res);
return res;
}
int main() {
//freopen("in.txt","r",stdin);
int n , cnt = 1;
scanf("%d",&n);
for(int i=1;i<=n;i++){
if(num[i] == 0){
num[i] = cnt++;
}
int low = i + 1, high = n , res = i;
while(high >= low){
int mid = (low + high) / 2;
int cur = ask(i,mid);
int cur2 = ask(i+1,mid);
if(cur == cur2){
res = mid;
high = mid - 1;
}
else{
low = mid + 1;
}
}
num[res] = num[i];
}
putchar('0');
for(int i=1;i<=n;i++) printf(" %d",num[i]);
puts("");
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... |