Codeforces Testing Round #10 B. Balancer

OpenSoucre發表於2014-06-09

水題,只要遍歷一遍,不夠平均數的,從後面的借,比平均數多的,把多餘的數新增到後面即可,注意資料範圍

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

int main(){
    int n;
    cin >> n;
    vector<long long> a(n);
    long long sum = 0;
    for(int i = 0 ; i < n; ++ i){
        cin >>a[i];
        sum +=a[i];
    }
    sum/=n;
    long long cnt = 0;
    for(int i = 0 ; i < n-1; ++ i){
        a[i+1] +=a[i]-sum;
        cnt+=abs(a[i]-sum);
    }
    cout<<cnt<<endl;
}

 

相關文章