Дундаж нэгэн

Бүгд адил өндөртэй болж чадах эсэхийг тогтооё. Хотын бүх барилгын өндрийн нийлбэр нь барилгын тоо -д хуваагдаж байвал бүгд тэнцүү өндөртэй болж чадна хуваагдахгүй бол -1 гэж хэвлэнэ. Хэрэв болж чаддаг бол эцэст нь барилгууд өндөртэй болох ёстой. ээс их өндөртэй барилга бүрийн өндрийг -р бууруулах хэрэгтэй ба энэ нийлбэрийг нийт бууруулалт гэе. Эсрэгээрээ ээс бага өндөртэй барилга бүрийн өндрийг -р ихэсгэх хэрэгтэй ба энэ нийлбэрийг нийт өсгөлт гэе. Тэгвэл бүх барилга адил өндөртэй болох тул нийт бууруулалт болон нийт өсгөлт тэнцүү байна. Эндээс бодлогын хариу нь нийт бууруулалт болон нийт өсгөлтийн нийлбэрийн хагастай тэнцүү байна.

Код

#include <iostream> using namespace std; int a[101]; int main() { int s = 0, i, ans, n, m; cin >> n; for (i = 0; i < n; i++){ cin >> a[i]; s += a[i]; } if (s % n != 0) cout << -1 << endl; else { m = s / n; ans = 0; for (i = 0; i < n; i++) if (m > a[i]) ans += m - a[i]; cout << ans << endl; } return 0; }