Submission #83198

#TimeUsernameProblemLanguageResultExecution timeMemory
83198RezwanArefin01Carnival (CEOI14_carnival)C++17
100 / 100
10 ms644 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> ii; int n, a[200]; int ask(vector<int> v) { cout << v.size(); for(int x : v) cout << " " << x; cout << endl; int x; cin >> x; return x; } int main() { cin >> n; vector<int> u = {1}; for(int i = 2; i <= n; i++) { vector<int> v = u; v.push_back(i); if(ask(v) == v.size()) u = v; } for(int i = 0; i < u.size(); i++) a[u[i]] = i + 1; for(int i = 1; i <= n; i++) if(!a[i]) { int lo = 0, hi = (int)u.size() - 1, idx; while(lo <= hi) { int mid = lo + hi >> 1; vector<int> v = {i}; for(int j = 0; j < mid; j++) v.push_back(u[j]); if(ask(v) == v.size()) idx = mid, lo = mid + 1; else hi = mid - 1; } a[i] = a[u[idx]]; } cout << 0; for(int i = 1; i <= n; i++) cout << " " << a[i]; cout << endl; }

Compilation message (stderr)

carnival.cpp: In function 'int ask(std::vector<int>)':
carnival.cpp:11:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for(int x : v) cout << " " << x; cout << endl;
     ^~~
carnival.cpp:11:38: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
     for(int x : v) cout << " " << x; cout << endl;
                                      ^~~~
carnival.cpp: In function 'int main()':
carnival.cpp:21:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if(ask(v) == v.size()) 
            ~~~~~~~^~~~~~~~~~~
carnival.cpp:24:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0; i < u.size(); i++) 
                    ~~^~~~~~~~~~
carnival.cpp:29:26: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
             int mid = lo + hi >> 1; 
                       ~~~^~~~
carnival.cpp:33:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(ask(v) == v.size()) 
                ~~~~~~~^~~~~~~~~~~
carnival.cpp:36:25: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
         } a[i] = a[u[idx]]; 
                         ^
#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...