Submission #199241

#TimeUsernameProblemLanguageResultExecution timeMemory
199241ffaoCarnival (CEOI14_carnival)C++14
100 / 100
24 ms380 KiB
#include <string> #include <vector> #include <list> #include <map> #include <set> #include <queue> #include <stack> #include <bitset> #include <algorithm> #include <numeric> #include <utility> #include <sstream> #include <iostream> #include <iomanip> #include <cstdio> #include <cmath> #include <cstdlib> #include <ctime> #include <cstring> #include <tuple> using namespace std; typedef long long ll; int n, m, k; int p; int t[200]; int tot[200]; int query(int fr, int to, int ad) { int hm = (to-fr+2); cout << hm; for (int i = fr; i <= to; i++) cout << " " << i+1; cout << " " << ad+1; cout << endl; int r; cin >> r; return r; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n; tot[0] = 1; for (int i = 1; i < n; i++) { int st = 0, ed = i-1; while (st < ed) { int md = (st+ed)/2; int r = query(0, md, i); if (r > tot[md]) { st = md+1; } else { ed = md; } } tot[i] = tot[i-1]; if (st == i-1 && query(0,st,i) > tot[i-1]) { t[i] = tot[i]++; } else { t[i] = t[st]; } } cout << 0; for (int i = 0; i < n; i++) { cout << " " << t[i]+1; } 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...