Submission #166588

#TimeUsernameProblemLanguageResultExecution timeMemory
166588DiegoCarnival (CEOI14_carnival)C++14
100 / 100
31 ms380 KiB
#include <bits/stdc++.h> #define MAXN 152 using namespace std; int F[MAXN]; void busca (int x, int ini, int fim, int n) { int C1, C2; 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] = n; 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) { F[x] = n; 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; memset(F, -1, sizeof(F)); int n = 0; for (int i = 1; i <= N; i++) if (F[i] == -1) 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...