This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int, int>
#define ff first
#define ss second
#define pb push_back
int dp[2][5001][5001];
int cnt[5001];
int a[1001000];
void solve(){
int n, m;
cin>>n>>m;
for(int i=1; i<=n; i++){
cin>>a[i];
cnt[a[i]] ++;
}
int h[2]={0, 0};
for(int i=1; i+1<=n; i+=2){
int l=a[i], r=a[i + 1];
dp[1][l][r] ++;
dp[1][r][l] ++;
h[1] ++;
}
for(int i=2; i+1<=n; i+=2){
int l=a[i], r=a[i + 1];
dp[0][l][r] ++;
dp[0][r][l] ++;
h[0] ++;
}
for(int i=1; i<=m; i++){
int ans = n - cnt[i];
for(int j=1; j<=m; j++){
if(i == j) continue;
for(int k=0; k<2; k++){
ans = min(ans, n - cnt[i] - cnt[j] + dp[k][i][j]);
}
}
cout<<ans<<'\n';
}
}
signed main(){
solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |