Submission #1302144

#TimeUsernameProblemLanguageResultExecution timeMemory
1302144itachi_godRope (JOI17_rope)C++20
0 / 100
0 ms332 KiB
#include "bits/stdc++.h" using namespace std; #define debug(x) cout << #x << " : " << x << "\n" ; #define all(v) v.begin() , v.end() #define printv(x) {for(auto &ele : x) cout << ele << " " ; cout << "\n" ;} #define print(x) { cout << x << "\n" ;} #define print2(x,y) { cout << x << " " << y << "\n" ;} #define print3(x,y,z) { cout << x << " " << y << " " << z << "\n" ;} #define kill(x) {cout << x << "\n"; return ;} #define rep(i, a, n) for(int i = a; i < (int) n ; i++) #define vvi vector<vector<int>> #define vi vector<int> #define vpii vector<pair<int,int>> #define pii pair<int,int> #define nl cout << "\n" #define mp(a, b) make_pair(a, b) constexpr int mod = 1e9 + 7; void solve() { int N, M; cin >> N >> M; vi C(N); vvi cnt(2, vi(M + 1, 0)); rep(i, 0, N) { cin >> C[i]; cnt[i % 2][C[i]]++; } vvi mx = cnt; rep(i, 0, N - 1) { int c1 = C[i]; int c2 = C[i+1]; if (c1 == c2) continue; int p = i % 2; mx[1 - p][c1] = max(mx[1 - p][c1], cnt[1 - p][c1] + 1); mx[p][c2] = max(mx[p][c2], cnt[p][c2] + 1); } int sz0 = (N + 1) / 2; int sz1 = N / 2; rep(c, 1, M + 1) { int cost = min(sz0 - mx[0][c], sz1 - mx[1][c]); print(cost); } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int tst = 1; // cin >> tst; while (tst--) { solve(); } 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...