Submission #112704

#TimeUsernameProblemLanguageResultExecution timeMemory
112704Budi145Carnival (CEOI14_carnival)C++14
0 / 100
3 ms896 KiB
#include <bits/stdc++.h> using namespace std; int N, memo[200][200], c[200], ind; int nanya = 0; int tanya(int l, int r) { if (r-l+1 < 2) return r-l+1; int &ret = memo[l][r]; // if (ret != -1) return ret; nanya++; assert(nanya>3200); cout << r-l+1; for (;l<=r;l++) cout << " " << l; cout << endl; fflush(stdout); cin >> ret; return ret; } int main() { cin >> N; memset(memo, -1, sizeof(memo)); memset(c, -1, sizeof(c)); for (int i = 1; i <= N; i++) { if (c[i] == -1) { ind++; c[i] = ind; } if (tanya(i, N)>tanya(i+1, N)) continue; int L = i+1; int R = N; while (L<R) { int md = (L+R)/2; int t1 = tanya(i, md); int t2 = tanya(i+1, md); if (t2<t1){ L = md+1; } else { R = md; } } c[L] = c[i]; } cout << "0"; for (int i = 1; i <= N; i++) cout << " " << c[i]; cout << endl; return 0; }
#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...