Submission #26512

#TimeUsernameProblemLanguageResultExecution timeMemory
26512NirjhorCarnival (CEOI14_carnival)C++14
100 / 100
9 ms2020 KiB
#include <bits/stdc++.h> using namespace std; const int N = 155; int n, sz; vector <int> v; int color[N]; bitset <N> done; int main() { cin >> n; v.push_back(1); sz = 1, done[1] = 1; for (int i = 2; i <= n; ++i) { cout << sz + 1 << " "; for (int x : v) { cout << x << " "; } cout << i << endl; int distinct; cin >> distinct; if (distinct == sz + 1) { ++sz, done[i] = 1; v.push_back(i); } } for (int i = 0; i < sz; ++i) { color[v[i]] = i + 1; } for (int i = 1; i <= n; ++i) { if (done[i]) continue; int lo = 0, hi = sz - 1; while (lo < hi) { int mid = lo + hi >> 1; cout << mid - lo + 2 << " "; for (int j = lo; j <= mid; ++j) { cout << v[j] << " "; } cout << i << endl; int distinct; cin >> distinct; if (distinct == mid - lo + 2) { lo = mid + 1; } else { hi = mid; } } color[i] = color[v[lo]]; } cout << "0"; for (int i = 1; i <= n; ++i) { cout << " " << color[i]; } cout << endl; return 0; }

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:36:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
    int mid = lo + hi >> 1;
                 ^
#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...