# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
239834 | 2020-06-17T11:21:23 Z | brainwarego | 사육제 (CEOI14_carnival) | C++14 | 5 ms | 384 KB |
#include <cstdio> int group[160] = {0, 1}; int entry[160] = {1}, en = 1, arr[160]; int query(int len, int*ap){ printf("%d ", len); for(int i=0;i<len;++i) printf("%d ", ap[i]); puts(""); int response; scanf("%d", &response); return response; } int bsearch(int s, int e, int tg){ int i, m, ans = s, ed; while(s <= e){ m = (s + e) / 2; ed = m - s + 1; for(i=0;i<ed;++i) arr[i] = entry[s+i]; arr[ed] = tg; if(query(ed+1, arr) < ed+1){ ans = m, e = m-1; } else s = m+1; } return entry[ans]; } int main(){ //freopen("input.txt", "r", stdin); int N; scanf("%d", &N); for(int i=2;i<=N;++i){ entry[en] = i; if(query(en+1, entry)==en+1){ group[i] = i, ++en; continue; } int gnum = bsearch(0, en-1, i); group[i] = gnum; } printf("0 "); for(int i=1;i<=N;++i) printf("%d ", group[i]); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 4 ms | 384 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 4 ms | 384 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 5 ms | 384 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 4 ms | 384 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 4 ms | 256 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |