奶牛们又来捣乱了!
农夫约翰精心整理的  堆干草,每堆干草的高度相同。
但是,奶牛们趁着他不注意在干草堆之间移动了一些干草捆,使得各个干草堆的高度可能不再相同了。
给定所有干草堆的新高度,请帮助约翰确定,为了使所有干草堆恢复到原来的相同高度,至少要移动的最小干草捆数。
输入格式
 第一行包含整数 。
接下来  行,每行包含一个整数(范围 
),表示每个干草堆的现有干草捆数量(也就是新高度)。
输出格式
 输出需要移动的最小干草捆数。
数据范围
输入样例:
4
2
10
7
1输出样例:
7样例解释
 至少要移动  个干草捆(将 
 个干草捆从第 
 堆移动至第 
 堆,将 
 个干草捆从第 
 堆移动至第 
 堆,将 
 个干草捆从第 
 堆移动至第 
 堆)。
using namespace std;
const int N = 10010;
int n;
int a[N];
int main(){
    
    cin >> n;
    int sum = 0;
    for(int i = 0; i < n; i++) cin >> a[i], sum += a[i];
    
    int avg = sum / n;
    sum = 0;
    for(int i = 0; i < n; i++) sum += abs(avg - a[i]);
    
    cout << sum / 2 << endl;
    
    return 0;
}                
                










