记录编号 138029 评测结果 AAAAAAAAAA
题目名称 韩信点兵 最终得分 100
用户昵称 Gravatarmikumikumi 是否通过 通过
代码语言 C++ 运行时间 0.010 s
提交时间 2014-11-05 16:19:12 内存使用 0.32 MiB
显示代码纯文本
#include<fstream>
using namespace std;
ifstream input("HanXin.in");
ofstream output("HanXin.out");
long long ans,v=0,n,m,p[11]={0},mo[11]={0},sum=0,M=1;
long long ma=1;
int main()
{
	long long  k,i;
	input>>n>>m;
	for(i=1;i<=m;i++)
	{
		input>>p[i]>>mo[i];
	}
	for(i=1;i<=m;i++)
		M=M*p[i];
	for(i=1;i<=m;i++)
	{
		k=M/p[i];
		long long  cost=k;
		if(cost!=0)
		{
		while(cost%p[i]!=1)cost=cost+k;
		}
		sum=sum+mo[i]*cost;
	}
    sum=sum%M;
	if(sum>n)
	{
		output<<"-1";
		input.close();
	    output.close();
		return 0;
	}
	sum=(n-sum)%M;
	output<<sum;
	input.close();
	output.close();
	return 0;
}