読者です 読者をやめる 読者になる 読者になる

紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

ABC027_B

島の人口を均等に分散すべく橋をかける問題
f:id:umashika5555:20170301075423p:plain
総人口/島の数で目標値を求め,その状態にしていったときに隣の島に流入、流出(マイナス流入)を加算していく.

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,a[100],total=0;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a[i];
        total += a[i];
    }
    if(total%n!=0){
        cout<<-1<<endl;
    }else{
        int t = total/n;//目標とする人数
        int ans = 0;
        for(int i=0;i<n-1;i++){
            if(a[i]!=t){
                a[i+1]+=a[i]-t;
                ans++;
            }
        }
        cout<<ans<<endl;
    }
    return 0;
}