제출 #434361

#제출 시각아이디문제언어결과실행 시간메모리
434361kevinxiehk사육제 (CEOI14_carnival)C++17
100 / 100
37 ms328 KiB
#include <bits/stdc++.h> #define mp make_pair #define pb emplace_back #define fi first #define se second #define ick cout<<"ickbmi32.9\n" using namespace std; int col[155]; int cnt = 1; int unq(int l, int r) { set<int> dk; dk.clear(); for(int i = l; i <= r; i++) dk.insert(col[i]); return dk.size(); } int query(int l, int r, int k) { cout << r - l + 2 << ' '; for(int i = l; i <= r; i++) cout << i + 1 << ' '; cout << k + 1 << endl; int a; cin >> a; return a; } int det(int k) { int a = query(0, k - 1, k); if(a > unq(0, k - 1)) { cnt++; return cnt; } int l = 0, r = k - 1; while(l < r) { int m = (l + r) / 2; cerr << l << ' ' << m << ' ' << r << '\n'; if(query(l, m, k) <= unq(l, m)) r = m; else l = m + 1; } int t = col[l]; return t; } int main(){ int n; cin >> n; col[0] = 1; for(int i = 1; i < n; i++) col[i] = det(i); cout << "0 "; for(int i = 0; i < n; i++) cout << col[i] << ' '; cout << endl; return 0; }
#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...