제출 #539116

#제출 시각아이디문제언어결과실행 시간메모리
539116vectorRope (JOI17_rope)C++17
0 / 100
12 ms23828 KiB
#include<bits/stdc++.h>
#define SIZE 1000001
using namespace std;
int N,M,A[SIZE],B[SIZE],C[SIZE],D[SIZE],ans[SIZE];
vector<int>v[SIZE];
int main()
{
    ios_base::sync_with_stdio(0),cin.tie(0);
    cin>>N>>M;
    for(int i=1;i<=N;i++){
        cin>>A[i];
        B[A[i]]++;
    }
    for(int i=1;i<=M;i++){
        int mx=0;
        for(int j=1;j<=M;j++)C[j]=0;
        for(int j=1;j<N;j+=2){
            if(A[j]==i||A[j+1]==i)C[A[j]]++,C[A[j+1]]++;
            else if(A[j]==A[j+1])C[A[j]]+=2;
        }
        if(N%2)C[A[N]]++;
        for(int j=1;j<=M;j++)mx=max(B[j]-C[j],mx);
        for(int j=1;j<=M;j++)C[j]=0;
        C[A[1]]++;
        for(int j=2;j<N;j+=2){
            if(A[j]==i||A[j+1]==i)C[A[j]]++,C[A[j+1]]++;
            else if(A[j]==A[j+1])C[A[j]]+=2;
        }
        if(N%2==0)C[A[N]]++;
        for(int j=1;j<=M;j++)mx=max(B[j]-C[j],mx);
        printf("%d\n",N-B[i]-mx);
    }
}
#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...