Submission #1279191

#TimeUsernameProblemLanguageResultExecution timeMemory
1279191MisterReaperRope (JOI17_rope)C++20
55 / 100
2595 ms8280 KiB
// File rope.cpp created on 14.10.2025 at 17:22:16 #include <bits/stdc++.h> using i64 = long long; #ifdef DEBUG #include "/home/ahmetalp/Desktop/Workplace/debug.h" #else #define debug(...) void(23) #endif int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int N, M; std::cin >> N >> M; std::vector<int> A(N); for (int i = 0; i < N; ++i) { std::cin >> A[i]; --A[i]; } std::vector<int> overall(N); for (int i = 0; i < N; ++i) { overall[A[i]] += 1; } for (int c = 0; c < M; ++c) { int ans = N - overall[c]; { // Case 1: First single std::vector<int> cnt(M); int now = 0; if (A[0] == c) { // ok } else { cnt[A[0]] += 1; } for (int i = 1; i < N; i += 2) { if (i + 1 == N) { if (A[N - 1] == c) { // ok } else { cnt[A[N - 1]] += 1; } } else { int x = (A[i] == c) + (A[i + 1] == c); if (x == 2) { // ok } else if (x == 1) { now += 1; } else { cnt[A[i]] += 1; cnt[A[i + 1]] += 1; } } } int mx = *std::max_element(cnt.begin(), cnt.end()); int sum = std::accumulate(cnt.begin(), cnt.end(), 0); debug(now, cnt); now += sum - mx; ans = std::min(ans, now); } { // Case 2: First both std::vector<int> cnt(M); int now = 0; for (int i = 0; i < N; i += 2) { if (i + 1 == N) { if (A[N - 1] == c) { // ok } else { cnt[A[N - 1]] += 1; } } else { int x = (A[i] == c) + (A[i + 1] == c); if (x == 2) { // ok } else if (x == 1) { now += 1; } else { cnt[A[i]] += 1; cnt[A[i + 1]] += 1; } } } int mx = *std::max_element(cnt.begin(), cnt.end()); int sum = std::accumulate(cnt.begin(), cnt.end(), 0); debug(now, cnt); now += sum - mx; ans = std::min(ans, now); } std::cout << ans << '\n'; } 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...