ABC027B - 島と橋
問題:B - 島と橋
#include <cstdio> #include <iostream> #include <vector> using namespace std; #define REP(i, n) for (int i = 0; i < (n); ++i) #define PB push_back int main(void) { int n, a, sum = 0, cnt = 0, tmp; vector<int> vec; scanf ("%d", &n); REP(i, n) { scanf ("%d", &a); vec.PB(a); sum += a; } if (sum % n) { printf ("-1\n"); } else { tmp = sum / n; REP(i, n - 1) { if (vec[i] - tmp != 0) { cnt++; } vec[i + 1] += vec[i] - tmp; } printf ("%d\n", cnt); } return 0; }