zoukankan      html  css  js  c++  java
  • Acwing打卡 day1

    104. 货仓选址

    在一条数轴上有 NN 家商店,它们的坐标分别为 A1A1~ANAN。

    现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。

    为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。

    输入格式

    第一行输入整数N。

    第二行N个整数A1A1~ANAN。

    输出格式

    输出一个整数,表示距离之和的最小值。

    数据范围

    1N1000001≤N≤100000,
    0Ai400000≤Ai≤40000

    输入样例:

    4
    6 2 9 1
    

    输出样例:

    12

    解题思路:
    |x-a|+|x-b|>=|a-b|
    |a[1]-x|+|a[2]-x|+...+|a[n]-x|>=|a[n]-a[1]|+|a[n-1]-a[2]|+....
    当取到等于号的时候,X为a与b的中间值。
    #include<iostream>
    #include<algorithm>
    #define N 100000
    using namespace std;
    
    int k,n;
    int a[N];
    
    int main(){
        
        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++){
            k+=abs(a[i]-a[n/2]);
        }
    
        
        printf("%d",k);
        return 0;
    }
     
  • 相关阅读:
    产品微谈
    SVN回滚机制
    super究竟是个啥?
    PM12条
    CocoaPods初体验
    UIView局部点击
    Memory cycles about Block
    About "self"
    openfire学习(一)
    WPF菜单和布局(2)
  • 原文地址:https://www.cnblogs.com/xiaowangdatie/p/14310389.html
Copyright © 2011-2022 走看看