http://acm.hust.edu.cn/vjudge/contest/view.action?cid=29592#problem/F
// File Name: bo_jwolf6.cpp // Author: rudolf // Created Time: 2013年08月19日 星期一 10:47:24 #include<vector> #include<list> #include<map> #include<set> #include<deque> #include<stack> #include<bitset> #include<algorithm> #include<functional> #include<numeric> #include<utility> #include<sstream> #include<iostream> #include<iomanip> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<ctime> using namespace std; int main() { int n , num[ 105 ] , ans , temp , ave , sum , Case = 0 ; while( cin >> n , n ) { sum = 0 ; for( int i = 1 ; i <= n ; ++i ) { cin >> num[ i ] ; sum += num[ i ] ; } ave = sum / n ; ans = 0 ; for( int i = 1 ; i <= n ; ++i ) { if( num[ i ] - ave > 0 ) { ans += ( num[ i ] - ave ); } } Case++ ; cout << "Set #" << Case << endl ; cout << "The minimum number of moves is " << ans << "."<< endl << endl; } return 0; }