这题怎么做呀??0分~~~
查看原帖
这题怎么做呀??0分~~~
1168868
gaoyichen1楼主2024/9/21 15:54

试了无数遍,逝了无数遍。
求大佬请教

#include<bits/stdc++.h>//disasyer
using namespace std;
long long lon[100005]={0};
int yishu(int s1,int s2)
{
	int u1=abs(s1-s2);
	if(u1%2==0)return u1/2;
	else return u1/2+1;
}
int main()
{
	int n,a[105],sum=0,ssum=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		sum+=a[i];
	}
	sort(a+1,a+1+n);
	sum/=n;
	for(int i=1;i<=n;i++)
	{
		lon[abs(sum-a[i])]++;
		if(lon[abs(sum-a[i])]==2&&!(abs(sum-a[i])==0))
		{
			lon[abs(sum-a[i])]=0;
			ssum++;
		}
		a[i]=sum;
	}
	for(int i=1;i<=n;i++)
	{
		cout<<a[i]<<" ";
	}
	cout<<"\n";
	cout<<ssum;
}

服了

2024/9/21 15:54
加载中...