比赛 20141105 评测结果 AAAAAAATAT
题目名称 韩信点兵 最终得分 80
用户昵称 Ra-xp 运行时间 2.336 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2014-11-05 09:13:34
显示代码纯文本
#include<iostream>
#include<fstream>
#include<algorithm>
#include<string>
#include<cmath>
#define MAXN 10000
#define SIZE 10+5
using namespace std;
int main()
{
	freopen("HanXin.in","r",stdin);
	freopen("HanXin.out","w",stdout);
	int i, n, su[SIZE], yu[SIZE], com1=0, com2=0, T;
	long long line, k;
	cin>>line>>n;
	for(i=1;i<=n;i++)
	{
		cin>>su[i]>>yu[i];
		if(su[i]>com1)
		{
			com1=su[i];
			com2=yu[i];
		}
	}
	k=line/com1*com1+com2;
	for(;;)
	{
		T=0;
		k=k-com1;
		if(k<0)
		{
			cout<<-1<<endl;
			break;
		}
		for(i=1;i<=n;i++)
		{
			if(k-k/su[i]*su[i]!=yu[i])
			{
				break;
			}
			T++;
		}
		if(T==n)
		{
			cout<<line-k<<endl;
			break;
		}
	}
	return 0;
}