标签:turn 信息 can script algorithm 推导 amp 朋友 des
有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。求使所有人获得均等糖果的最小代价。
小朋友个数n,下面n行 ai
4
1 2 5 4
4
#include <iostream>
#include <cstdio>
#include <algorithm>
#define maxn 1000005
using namespace std;
int n,a[maxn];
long long c[maxn],sum;
int main()
{
int n; scanf("%d",&n);
for(int i=1;i<=n;++i) scanf("%d",&a[i]),sum+=a[i];
sum/=n;
for(int i=1;i<=n;++i) c[i]+=sum-a[i]+c[i-1];
sort(c+1,c+n+1);
int mid=c[n/2]; long long ans=0;
for(int i=1;i<=n;++i) ans+=abs(mid-c[i]);
printf("%lld",ans);
return 0;
}
标签:turn 信息 can script algorithm 推导 amp 朋友 des
原文地址:https://www.cnblogs.com/wuwendongxi/p/13334698.html