McCree来师带上任只为三件事公平!公平!还是公平! 学校一共有 � n个学院,每个学院都有一定的经费。McCree希望能找到一个非负整数 � d,各个学院的经费要么加上 � d,要么减去 � d,要么不做改变。最终McCree希望找到最小的 � d使得各个学院的经费都相同。 题目描述 输入格式 第一行为一个正整数 � n ( 1 ≤ � ≤ 100 1≤n≤100 ),表示有 � n个学院。 第二行有 � n 个整数 � 1 , � 2 , … , � � a 1 ,a 2 ,…,a n ( 1 ≤ � � ≤ 100 1≤a i ≤100 ) — 表示各个学院的经费 。 输出格式 输出一行一个整数 � d。 如果 � d不存在,输出-1。c++代码
时间: 2024-01-16 19:04:25 浏览: 129
管理者新上任时提出的第一个问题都是.doc
以下是C++实现代码:
```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int a[n];
int sum = 0;
for (int i = 0; i < n; i++) {
cin >> a[i];
sum += a[i];
}
int avg = sum / n; // 计算平均数
if (sum % n != 0) { // 平均数不是整数,无解
cout << -1 << endl;
return 0;
}
int diff = 0; // 统计差值
for (int i = 0; i < n; i++) {
diff += abs(a[i] - avg);
}
cout << diff / 2 << endl; // 最小差值为差值的一半
return 0;
}
```
具体思路与Python代码相同,不再赘述。
阅读全文