#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int n,i;
unsigned long long ans;
vector <long long>money;
long long equal;
unsigned long long temp;
while(scanf("%d",&n)==1){
money.clear();
equal=0;ans=0;
for(i=0;i<n;i++){
scanf("%lld",&temp);
money.push_back(temp);
equal+=temp;
}
equal/=n;
for(i=0;i<n;i++){
money[i]=money[i]-equal;
if(i>1){
money[i]+=money[i-1];
}
}
money[0]=0;
sort(money.begin()++,money.end());
for(i=0;i<n;i++){
if(money[n/2]>=money[i])
temp=money[n/2]-money[i];
else
temp=money[i]-money[n/2];
ans+=temp;
}
printf("%lld\n",ans);
}
return 0;
}
這題是數學分析
在下抓bug抓超久的...
沒有留言:
張貼留言
TEST