제출 #1220136

#제출 시각아이디문제언어결과실행 시간메모리
1220136giorgi123glm사육제 (CEOI14_carnival)C++17
100 / 100
3 ms412 KiB
#include <climits> #include <deque> #include <functional> #include <iostream> #include <iterator> #include <set> using namespace std; #define int long long signed main () { int N = 0; cin >> N; int free = 1; vector <int> ans (N + 1); vector <int> v; for (int i = 1; i <= N; i++) { cout << v.size() + 1 << ' '; for (int& e : v) cout << e << ' '; cout << i << '\n'; cout.flush(); int res = 0; cin >> res; if (res == v.size() + 1) { v.emplace_back (i); ans[i] = free++; } else if (res == v.size()) { int L = 0, R = v.size() - 1; int binans =0; while (L <= R) { int mid = (L + R) / 2; cout << mid + 1 + 1 << '\n'; for (int j = 0; j <= mid; j++) cout << v[j] << ' '; cout << i << '\n'; cout.flush(); int res1 = 0; cin >> res1; if (res1 == mid + 1 + 1) { L = mid + 1; } else if (res1 == mid + 1) { R = mid - 1; binans = mid; } } ans[i] = ans[v[binans]]; } else exit (1); } cout << 0 << ' '; for (int i = 1; i <= N; i++) cout << ans[i] << ' '; cout.flush(); }
#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...