浅浅参考一下吧
2023-04-13 14:51:32
发布于:浙江
89阅读
0回复
0点赞
解题思路详见代码里的注释
//找到中位数,所有数值与中位数的差就是答案
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,mid;
cin >> n;
int a[n];
//输入数组
for (int i=0;i<n;i++)
{
cin >> a[i];
}
//获取数组的中位数mid
sort(a, a+n);
if(n%2 == 0) mid=a[n/2 -1];
else mid=a[(n+1)/2 -1];
int count,res=0;
//计算每个数与中位数的差
for (int i=0;i<n;i++)
{
if (a[i]>mid) count=a[i]-mid;
else if (a[i]<mid) count=mid-a[i];
else count =0;
res=res+count;
}
cout << res;
return 0;
}
全部评论 1
我就浅浅复制一下
2024-09-21 来自 广东
0
有帮助,赞一个