Submission #48796

#TimeUsernameProblemLanguageResultExecution timeMemory
48796alex99Carnival (CEOI14_carnival)C++14
100 / 100
25 ms588 KiB
#include <iostream> #include <vector> using namespace std; int N; int Res[155]; vector <int> Pos; int ask(vector <int> V) { cout << V.size() << " "; for(int i = 0; i < V.size(); i++) cout << V[i] << " "; cout << endl; int ans; cin >> ans; return ans; } int binS(int pos) { int left = 0, right = Pos.size() - 1, sol = 0, mid; while(left <= right) { mid = (left + right) / 2; vector <int> V; for(int j = 0; j <= mid; j++) V.push_back(Pos[j]); V.push_back(pos); int nb = ask(V); if(nb == V.size()) { left = mid + 1; } else { sol = mid; right = mid - 1; } } return sol + 1; } void Solve() { Res[1] = 1; Pos.push_back(1); int cnt = 1; for(int i = 2; i <= N; i++) { vector <int> V; for(int j = 1; j <= i; j++) V.push_back(j); int nb = ask(V); if(nb == cnt + 1) { cnt++; Res[i] = cnt; Pos.push_back(i); continue; } Res[i] = binS(i); } cout << "0 "; for(int i = 1; i <= N; i++) cout << Res[i] << " "; cout << "\n"; } int main() { cin >> N; Solve(); return 0; }

Compilation message (stderr)

carnival.cpp: In function 'int ask(std::vector<int>)':
carnival.cpp:10:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0; i < V.size(); i++)
                    ~~^~~~~~~~~~
carnival.cpp: In function 'int binS(int)':
carnival.cpp:28:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if(nb == V.size())
            ~~~^~~~~~~~~~~
#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...