Submission #197432

#TimeUsernameProblemLanguageResultExecution timeMemory
197432JuneyCarnival (CEOI14_carnival)C++14
100 / 100
24 ms424 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 1e5 + 5; int N, col[155]; vector<int> V; void out(vector<int> &v) { cout << v.size() << ' '; for(auto i : v) cout << i << ' '; cout << endl; } int search(int x) { int l = 0, r = V.size() - 1, ret; while(l <= r) { if(l == r) { ret = l; break; } int mid = l + r >> 1; vector<int> t; t.push_back(x); for(int i=l; i<=mid; i++) t.push_back(V[i]); out(t); int a; cin >> a; if(a == mid - l + 1) r = mid; else l = mid + 1; } return ret + 1; } int main() { //ios::sync_with_stdio(0); cin.tie(0); cin >> N; V.push_back(1); col[1] = 1; for(int i=2; i<=N; i++) { V.push_back(i); out(V); int x; cin >> x; if(x < V.size()) { V.pop_back(); int c = search(i); col[i] = c; } else col[i] = V.size(); } cout << 0 << ' '; for(int i=1; i<=N; i++) cout << col[i] << ' '; cout << endl; }

Compilation message (stderr)

carnival.cpp: In function 'int search(int)':
carnival.cpp:29:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   int mid = l + r >> 1;
             ~~^~~
carnival.cpp: In function 'int main()':
carnival.cpp:48:8: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(x < V.size()) {
      ~~^~~~~~~~~~
carnival.cpp: In function 'int search(int)':
carnival.cpp:23:31: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
  int l = 0, r = V.size() - 1, ret;
                               ^~~
#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...