题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1096
题目:
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
直接暴力。。。。
#include <iostream>
#include<bits/stdc++.h>
#define INF 0x7ffffffffff
#define ll long long
using namespace std;
ll a[11000];
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++) scanf("%lld",&a[i]);
ll ans=INF;
for(int i=0;i<n;i++)
{
ll sum=0;
for(int j=0;j<n;j++)
sum+=(ll)abs(a[i]-a[j]);
ans=min(ans,sum);
}
cout<<ans<<endl;
}