ZOJ4118 Stones in the Bucket
水题 给出n个数 只能让某个数-1 或者 让某个数-1另一个数+1 使最后n个数都相等 问最少的操作数
AC代码:
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 typedef unsigned long long ull; 5 6 ll a[100005]; 7 8 int main(){ 9 ll t, n, k; 10 ll ans, sum; 11 cin>>t; 12 while (t--){ 13 memset(a, 0, sizeof(a)); 14 cin>>n; 15 ans = 0, sum = 0; 16 for (int i = 0; i < n; i++){ 17 cin>>a[i]; 18 sum += a[i]; 19 } 20 sum /= n; 21 for (int i = 0; i < n; i++) 22 if (a[i] > sum) 23 ans += a[i] - sum; 24 cout<<ans<<endl; 25 } 26 return 0; 27 }