11300 - Spreading the Wealth

来源:互联网 发布:淘宝投诉电话人工服务 编辑:程序博客网 时间:2024/06/15 01:58

题目地址https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=456&problem=2275&mosmsg=Submission+received+with+ID+18678435



#include<iostream>#include<cstdio>#include<cmath>#include<algorithm> using namespace std; int main() { long long  n,people[1000000],total=0,average=0,c[1000000],x1,ans=0;  while(scanf("%lld",&n)==1&&n) { total=average=ans=0; for(int i=0;i<n;i++) { scanf("%lld",&people[i]);total+=people[i]; } average=total/n; c[0]=abs(people[0]-average); for(int i=1;i<n;i++) { //c[i]=c[i-1]+abs(people[i]-average); c[i]=c[i-1]+people[i]-average; } sort(c,c+n); x1=c[n/2]; for(int i=0;i<n;i++)ans+=abs(x1-c[i]); printf("%lld\n",ans);      } return 0; }


0 0
原创粉丝点击