记录编号 84796 评测结果 AAAAAAAAAAA
题目名称 [USACO Nov13]空牛栏 最终得分 100
用户昵称 Gravatardigital-T 是否通过 通过
代码语言 C++ 运行时间 0.821 s
提交时间 2013-12-19 22:37:58 内存使用 23.18 MiB
显示代码纯文本
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
long long N,K;
long long Stuck[3000001];
int main()
{
	freopen("empty.in","r",stdin);
	freopen("empty.out","w",stdout);
	scanf("%lld%lld",&N,&K);
	long long X,Y,a,b,k,tmp;
	for(k=1;k<=K;k++)
	{
		scanf("%lld%lld%lld%lld",&X,&Y,&a,&b);
		for(tmp=1;tmp<=Y;tmp++)
			Stuck[(a*tmp+b)%N]+=X;
	}
	long long i;
	for(i=0;i<N-1;i++)
	if(Stuck[i]>1)
	{
		Stuck[i+1]+=(Stuck[i]-1);
		Stuck[i]=1;
	}
	if(Stuck[N-1]>1)
		Stuck[0]+=(Stuck[N-1]-1);
	for(i=0;i<=N-1;i++)
	{
		if(Stuck[i]==0)
		{
			printf("%d\n",i);
			return 0;
		}
		else
		{
			Stuck[i+1]+=(Stuck[i]-1);
			Stuck[i]=1;
		}
	}
	return 0;
}