제출 #346932

#제출 시각아이디문제언어결과실행 시간메모리
346932jamezzz사육제 (CEOI14_carnival)C++14
100 / 100
21 ms364 KiB
#include <bits/stdc++.h> using namespace std; int n, ft[155], col[155]; void up(int x, int v){ while (x <= n){ ft[x] += v; x += x & -x; } } int qry(int x){ int res = 0; while (x){ res += ft[x]; x -= x & -x; } return res; } int query(int x, int y){ printf("%d ", y - x + 1); for (int i = x; i <= y; ++i){ printf("%d ", i); } printf("\n"); fflush(stdout); int t; scanf("%d", &t); return t; } int main(){ scanf("%d", &n); int cur = 1; for (int i = 1; i <= n; ++i){ int t = query(1, i); up(i, t); up(i + 1, -t); if (qry(i) != qry(i - 1)) col[i] = cur++; } col[1] = 1; up(1, -1); for (int i = 2; i <= n; ++i){ int lo = i, hi = n, mid, res = n + 1; while (lo <= hi){ mid = (lo + hi) / 2; if (query(i, mid) != qry(mid)){ hi = mid - 1; res = mid; } else{ lo = mid + 1; } } col[res] = col[i - 1]; up(res, 1); up(i, -1); } printf("0 "); for (int i = 1; i <= n; ++i) printf("%d ", col[i]); fflush(stdout); return 0; } //1 2 1 3 2 3

컴파일 시 표준 에러 (stderr) 메시지

carnival.cpp: In function 'int query(int, int)':
carnival.cpp:28:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   28 |     int t; scanf("%d", &t);
      |            ~~~~~^~~~~~~~~~
carnival.cpp: In function 'int main()':
carnival.cpp:33:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   33 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...