题面
代码:
#include<iostream>
#include<algorithm>
using namespace std;
int operation(int x,int y,int z){
if(x==y&&y==z) return 0;
int sum=x+y+z,cnt=sum/3,aans=0;
z=z+(x-cnt);
aans+=x-cnt;
x=cnt;
if(y<z) aans+=(z-y)/2;
else aans+=(y-z)/2;
return aans;
}
int main(){
int n,k,t[3]={},ans=1e9;
cin>>n;
for(int i=1;i<=n;i++){
cin>>k;
t[k%3]++;
}
for(int i=0;i<2;i++){
for(int j=i+1;j<3;j++){
if(t[i]<t[j]) swap(t[i],t[j]);
}
}
int x=t[0],y=t[1],z=t[2];
cout<<operation(x,y,z);
return 0;
}
只能对一半样例,不知道是思路不对还是代码错了