负载平衡问题

可证贪心运送到中间的仓库最优,因为只能运送到相邻的仓库
证明:http://www.cnblogs.com/five20/p/8869948.html

//Writer:jr HSZ;%%%WJMZBMR
#include<bits/stdc++.h>
#define int long long
#define reg register int
#define f(i,a,b) for(reg i=a;i<=b;i++)
using namespace std;
int n,sum,ave;
int g[205];
int cg[205];
int ans;
signed main(){
    cin>>n;
    for(int i=1;i<=n;i++){
    scanf("%lld",&g[i]);	
    sum+=g[i];
    }
    ave=sum/n;
    for(int i=1;i<n;i++)cg[i]=g[i]-ave+cg[i-1];
    sort(cg,cg+n);
    for(int i=0;i<n;i++)ans+=abs(cg[n/2]-cg[i]);
    cout<<ans;
    return 0;
}

我是咸鱼。转载博客请征得博主同意Orz
原文地址:https://www.cnblogs.com/sdfzhsz/p/9266170.html