记录编号 325235 评测结果 AAAAAAAAAA
题目名称 [USACO Jan08] iCow播放器 最终得分 100
用户昵称 GravatarMealy 是否通过 通过
代码语言 C++ 运行时间 0.043 s
提交时间 2016-10-19 10:39:55 内存使用 0.29 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int nmax=1086;
int n,m;
int maxs=0;
int cnt=1;
int val[nmax];
void PreDo()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&val[i]);
		if(val[i]>val[maxs])
		{
			maxs=i;
		}
	}
	while(cnt<=m)
	{
		++cnt;
		printf("%d\n",maxs);
		int tmp=val[maxs];
		val[maxs]=0;
		if(tmp%(n-1)==0)
		{
			int add=tmp/(n-1);
			for(int i=1;i<=n;i++)
			{
				if(i!=maxs)
				{
					val[i]+=add;
				}
			}
		}
		else
		{
			int applepen=tmp%(n-1);
			int add=tmp/(n-1);
			for(int i=1;i<=n;i++)
			{
				if(i!=maxs)
				{
					val[i]+=add;
				}
			}
			if(maxs<=applepen)
			{
				for(int i=1;i<=applepen+1;i++)
				{
					if(i!=maxs)
					{
						val[i]++;
					}
				}
			}
			else
			{
				for(int i=1;i<=applepen;i++)
				{
					val[i]++;
				}
			}
		}
		for(int i=1;i<=n;i++)
		{
			if(val[i]>val[maxs])
			{
				maxs=i;
			}
		}
	}	
}
int main()
{
	freopen("icow.in","r",stdin);
	freopen("icow.out","w",stdout);
	PreDo();
	return 0;
}