洛谷P1031 均分纸牌

//贪心 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int n,a[10001],average,sum,ans=0;
void divide()
{
	for(int i=1;i<=n;i++)
	{
		if(a[i]average)//如果当前数大于平均值 
		{
			int rich=a[i]-average;//剩余量=当前数-平均数 
			ans++;//答案数+1 
			a[i+1]+=rich;//把剩余的取出,加到下一堆中 
		}
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		sum+=a[i];
	}
	average=sum/n;//求平均值 
	divide();
	cout<


你可能感兴趣的:(贪心算法)