贪心:绝对值不等式

 货仓选址:

最优的方法就是货仓在中间

#include 
#include 
using namespace std;

const int N = 100005;

int n;
int a[N];//坐标

int main()
{
    int res=0;
    scanf("%d", &n);
    for (int i = 0; i < n; i ++ ) scanf("%d", &a[i]);

    sort(a, a + n);//从小到大

    //求货仓到所有点的总距离
    for (int i = 0; i < n; i ++ )//最优方法就是货仓在中间
        //abs是求绝对值,n/2就是中位数(货仓的位置)
        //求每个商店到货仓的距离加起来就是res
        res += abs(a[i] - a[n/2]); 
        
    printf("%d\n", res);

    return 0;
}

你可能感兴趣的:(算法基础,算法,c++,数据结构)