Submission #647914

#TimeUsernameProblemLanguageResultExecution timeMemory
647914thorieThe Xana coup (BOI21_xanadu)C++17
10 / 100
70 ms1580 KiB
#include "bits/stdc++.h" using namespace std; int main() { int n; cin >> n; vector<bool> on1(n + 1); vector<bool> on2(n + 1); for (int i = 0; i < n - 1; i++) { int a, b; cin >> a >> b; } for (int i = 0; i < n; i++) { bool a; cin >> a; on1[i] = a; } on2 = on1; on2[0] = !on2[0]; on2[1] = !on2[1]; int cnt1 = 0; int cnt2 = 1; for (int i = 1; i < n; i++) { if (on1[i - 1]) { on1[i - 1] = false; on1[i] = !on1[i]; on1[i + 1] = !on1[i + 1]; cnt1++; } if (on2[i - 1]) { on2[i - 1] = false; on2[i] = !on2[i]; on2[i + 1] = !on2[i + 1]; cnt2++; } } bool allFalse1 = true; bool allFalse2 = true; for (int i = 0; i < n; i++) { if (on1[i]) { allFalse1 = false; } if (on2[i]) { allFalse2 = false; } } if (!allFalse1) { cnt1 = INT_MAX; } if (!allFalse2) { cnt2 = INT_MAX; } int ans = min(cnt1, cnt2); if (ans == INT_MAX) { cout << "impossible" << endl; } else { cout << ans << 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...