51nod 1096 距离之和最小中位数
Posted Roni
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod 1096 距离之和最小中位数相关的知识,希望对你有一定的参考价值。
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题
收藏
关注
X轴上有N个点,求X轴上一点使它到这N个点的距离之和最小,输出这个最小的距离之和。
Input
第1行:点的数量N。(2 <= N <= 10000) 第2 - N + 1行:点的位置。(-10^9 <= P[i] <= 10^9)
Output
输出最小距离之和
Input示例
5 -1 -3 0 7 9
Output示例
20
【分析】:注意LL,距离abs
【代码】:
#include <bits/stdc++.h> using namespace std; #define LL long long int main() { LL n,ans=0; LL a[10000+10]; cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } sort(a,a+n); for(int i=0;i<n;i++) { ans+=abs(a[i]-a[n/2]); } cout<<ans<<endl; return 0; }
以上是关于51nod 1096 距离之和最小中位数的主要内容,如果未能解决你的问题,请参考以下文章