51nod 1096 距离之和最小(简单题)
2016-09-01 09:21
225 查看
这道题随便选取2、3、4······个点,就会发现,其实距离最小的点就是中位点(最中间的那个点),之后再求每个点和中位点的距离就行了
代码如下
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m;
cin>>m;
int a[10050];
int i;
for(i=0;i<m;i++)
cin>>a[i];
sort(a,a+m);
int k=a[m/2];
long long sum=0;
for(i=0;i<m;i++)
sum+=abs(a[i]-k);
cout<<sum<<endl;
}
代码如下
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m;
cin>>m;
int a[10050];
int i;
for(i=0;i<m;i++)
cin>>a[i];
sort(a,a+m);
int k=a[m/2];
long long sum=0;
for(i=0;i<m;i++)
sum+=abs(a[i]-k);
cout<<sum<<endl;
}
相关文章推荐
- 51nod 1096 距离之和最小 && 1108-距离之和最小 V2(简单数学)&& 1110 距离之和最小 V3(逆思维)
- 51nod 1096 距离之和最小
- 51Nod 1096 - 距离之和最小
- 51nod 1096 距离之和最小【水题】【介个为毛分在20分档里边了】
- 51nod-1096 距离之和最小
- 51nod 1096 距离之和最小 (找规律题)
- 【51Nod】1096 距离之和最小
- 51nod-【1096 距离之和最小】
- 51nod 1096 距离之和最小 【思维题】
- 距离之和最小 51Nod - 1096
- 51nod 1096 距离之和最小
- 51nod 1096 距离之和最小
- 51NOD 1096 距离之和最小
- 51Nod 1096 距离之和最小
- 51nod 1096 距离之和最小
- 【51NOD】1096 距离之和最小
- 51Nod 1096 距离之和最小
- 51nod 1096 距离之和最小 思维题,求中位数
- 51Nod-1096-距离之和最小
- 51NOD 1108 距离之和最小 V2