#include <bits/stdc++.h>
#define M 100005
using namespace std;
int n,ans=1e9,A[M],B[M],cnt[4],seq[4],ck[4];
void input(){
cin>>n;
for(int i=0;i<n;i++){
cin>>A[i];
cnt[A[i]]++;
}
}
int val(){
int c=0,pos[4][4]={{0}},cnt1=0,cnt2=0;
for(int i=1;i<=3;i++){
for(int j=0;j<cnt[seq[i]];j++){
B[c++]=seq[i];
}
}
for(int i=0;i<n;i++){
pos[B[i]][A[i]]++;
}
for(int i=1;i<3;i++){
for(int j=i+1;j<=3;j++){
c=min(pos[i][j],pos[j][i]);
cnt1+=c;
cnt2+=pos[i][j]+pos[j][i]-c*2;
}
}
return cnt1+cnt2/3*2;
}
void pro(int a){
if(a>3){
ans=min(ans,val());
return;
}
for(int i=1;i<=3;i++){
if(ck[i]) continue;
ck[i]=1;
seq[a]=i;
pro(a+1);
ck[i]=0;
}
}
int main(){
cin.tie(0);
ios::sync_with_stdio(0);
//freopen("in.txt","r",stdin);
input();
pro(1);
cout<<ans<<endl;
return 0;
}
Comments
Post a Comment