简单贪心 不过感觉按照下面的代码移动纸牌有点问题
比如 1 1 1 5
第一次 2 0 1 5
第二次 2 2 -1 5
第三次 2 2 2 2
移动纸牌的过程中出现了负数。。。
#include <iostream>
using namespace std;
int main()
{
int n,num[10001],sum,count;
cin>>n;
sum = 0,count = 0;
for(int i = 0;i < n;i++)
cin>>num[i],sum += num[i];
sum /= n;
for(int i = 0 ;i < n;i++)
{
if(num[i] < sum)
{
num[i+1] -= sum - num[i];
num[i] = sum;
count++;
}
else if(num[i] > sum)
{
num[i + 1] += num[i] -sum;
num[i] = sum;
count++;
}
}
cout<<count;
return 0;
}