Submission #1172181

#TimeUsernameProblemLanguageResultExecution timeMemory
1172181sunboiCarnival (CEOI14_carnival)C++20
100 / 100
4 ms424 KiB
#include <bits/stdc++.h> using namespace std; void ask(vector<int> a){ cout << a.size() << ' '; for (int i : a){ cout << i << ' '; } cout << endl; } vector<int> ans(151); int cnt = 1; void dp(vector<int> a, int c){ /*cout << "PEDRO::::" << endl; for (int i = 0; i < a.size(); i++){ cout << a[i] << ' '; } cout << endl; cout << c << endl;*/ if (c == 1){ for (int i : a){ ans[i] = cnt; } cnt++; return; } int distintos = 0; vector<int> choosing; vector<int> bastardos; for (int i = 0; i < c / 2; i++){ choosing.push_back(a[i]); } /*for (int i : choosing){ cout << i << ' '; } cout << endl; cout << "nigger << endl" << endl;*/ for (int i = c / 2; i < a.size(); i++){ choosing.push_back(a[i]); ask(choosing); cin >> distintos; choosing.pop_back(); if(distintos <= c / 2){ choosing.push_back(a[i]); }else bastardos.push_back(a[i]); } dp(choosing, c / 2); dp(bastardos, (c + 1) / 2); } int main(){ int n; cin >> n; vector<int> a; for (int i = 1; i <= n; i++){ a.push_back(i); } ask(a); int c = 0; cin >> c; dp(a, c); cout << 0 << ' '; for (int i = 1; i <= n; i++){ cout << ans[i] << ' '; } cout << endl; }
#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...