Submission #1252945

#TimeUsernameProblemLanguageResultExecution timeMemory
1252945Semen07Rope (JOI17_rope)C++20
45 / 100
2595 ms1196 KiB
#include <bits/stdc++.h> int main() { // freopen("main.in", "r", stdin); // freopen("main.out", "w", stdout); size_t n, m; std::cin >> n >> m; std::vector<size_t> a(n); for (size_t i = 0; i < n; ++i) { std::cin >> a[i]; --a[i]; } for (size_t f = 0; f < m; ++f) { size_t ans = n; for (size_t s = 0; s < m; ++s) { size_t score0 = 0; for (size_t i = 0; i < n; i += 2) { if (i + 1 < n) { if (a[i] == a[i + 1] && (a[i] == f || a[i] == s)) continue; if (a[i] == f || a[i + 1] == f || a[i] == s || a[i + 1] == s) score0++; else score0 += 2; } else { if (a[i] != f && a[i] != s) score0++; } } size_t score1 = 0; for (size_t i = 0; i < n + 1; i += 2) { if (i > 0 && i < n) { if (a[i] == a[i - 1] && (a[i] == f || a[i] == s)) continue; if (a[i] == f || a[i - 1] == f || a[i] == s || a[i - 1] == s) score1++; else score1 += 2; } else { if (i == n) --i; if (a[i] != f && a[i] != s) score1++; } } ans = std::min({ans, score0, score1}); } std::cout << ans << '\n'; } }
#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...