제출 #1302149

#제출 시각아이디문제언어결과실행 시간메모리
1302149itachi_godRope (JOI17_rope)C++20
0 / 100
0 ms332 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int N, M; if (!(cin >> N >> M)) return 0; vector<int> C(N); for (int i = 0; i < N; ++i) { cin >> C[i]; } // Counts for each set int size_A = 0, size_B = 0, size_Even = 0, size_Odd = 0; vector<int> cnt_A(M + 1, 0); vector<int> cnt_B(M + 1, 0); vector<int> cnt_Even(M + 1, 0); vector<int> cnt_Odd(M + 1, 0); for (int i = 0; i < N; ++i) { int color = C[i]; // Even / Odd sets if (i % 2 == 0) { size_Even++; cnt_Even[color]++; } else { size_Odd++; cnt_Odd[color]++; } // Type A / Type B sets if (i % 4 == 0 || i % 4 == 1) { size_A++; cnt_A[color]++; } else { size_B++; cnt_B[color]++; } } for (int c = 1; c <= M; ++c) { int cost_A = size_A - cnt_A[c]; int cost_B = size_B - cnt_B[c]; int cost_Even = size_Even - cnt_Even[c]; int cost_Odd = size_Odd - cnt_Odd[c]; int min_cost = min({cost_A, cost_B, cost_Even, cost_Odd}); cout << min_cost << "\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...