Submission #166589

#TimeUsernameProblemLanguageResultExecution timeMemory
166589DiegoCarnival (CEOI14_carnival)C++14
100 / 100
31 ms380 KiB
#include <iostream> #define MAXN 152 using namespace std; int F[MAXN] = {0}; void busca (int x, int ini, int fim, int n) { int C1, C2; F[x] = n; if (ini > fim) return; if (ini == fim) { if (ini == x) return; cout << 2 << " " << x << " " << ini << endl; cin >> C1; if (C1 == 1) F[ini] = F[x]; return; } cout << fim-ini+(x < ini || x > fim); for (int i = ini; i <= fim; i++) { if (i == x) continue; cout << " " << i; } cout << endl; cin >> C1; cout << fim-ini+1+(x < ini || x > fim); cout << " " << x; for (int i = ini; i <= fim; i++) { if (i == x) continue; cout << " " << i; } cout << endl; cin >> C2; if (C1 != C2) return; int meio = (ini+fim)/2; if (fim == meio) meio = ini; busca(x, ini, meio, n); busca(x, meio+1, fim, n); } int main () { int N; cin >> N; int n = 0; for (int i = 1; i <= N; i++) if (F[i] == 0) busca(i, 1, N, ++n); cout << 0; for (int i = 1; i <= N; i++) cout << " " << F[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...