记录编号 | 138029 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 韩信点兵 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | 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; }