求助谷友(普及题而已,悬赏关注)
查看原帖
求助谷友(普及题而已,悬赏关注)
590609
jiangjiangQwQ楼主2023/2/2 11:11

题面

代码:

#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;
}

只能对一半样例,不知道是思路不对还是代码错了

2023/2/2 11:11
加载中...