Submission #547512

#TimeUsernameProblemLanguageResultExecution timeMemory
547512seungho9422Carnival (CEOI14_carnival)C++17
100 / 100
8 ms316 KiB
#include <bits/stdc++.h>
using namespace std;
 
const int N = 160;
 
int ans[N];
 
int main() {
  int n, a, b, pos, mid, res, prv, now;
  vector <int> v;
  cin.tie(0)->sync_with_stdio(0);
  cin >> n;
  for(int i = 1; i <= n; i++) {
    cout << i << ' ';
    for(int j = 1; j <= i; j++) {
      cout << j << ' ';
    }
    cout << endl;

    cin >> now;
    if(now != prv) {
      v.push_back(i);
      ans[i] = now;
      prv = now;
      continue;
    }

    a = 0, b = v.size() - 1;
    while(a <= b) {
      mid = (a+b) / 2;

      cout << mid + 2 << ' ';
      for(int i = 0; i <= mid; i++) {
        cout << v[i] << ' ';
      }
      cout << i << endl;

      cin >> res;
      if(res < mid + 2) {
        b = mid - 1;
        pos = mid;
      }
      else {
        a = mid + 1;
      }
    }
    ans[i] = ans[v[pos]];
  }

  for(int i = 0; i <= n; i++) {
      cout << ans[i] << ' ';
  }
  cout << endl;
  return 0;
}

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:21:5: warning: 'prv' may be used uninitialized in this function [-Wmaybe-uninitialized]
   21 |     if(now != prv) {
      |     ^~
carnival.cpp:47:23: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized]
   47 |     ans[i] = ans[v[pos]];
      |                       ^
#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...