记录编号 572237 评测结果 AAAAAAAAAA
题目名称 曹冲养猪 最终得分 100
用户昵称 Gravatarnick 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2022-06-29 15:50:09 内存使用 0.00 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=15;
typedef long long ll;
ll a[N], b[N];
ll m[N], k[N];
int exgcd(ll a,ll b,ll& x,ll& y)
{
	int d=a;
	if (b!=0)
    {
		d=exgcd(b,a%b,y,x);
		y-=(a/b)*x;
	}
	else{
		x=1;
		y=0;
	}
	return d;
}

int main(void)
{
    freopen("ccyz.in","r",stdin);
    freopen("ccyz.out","w",stdout);
	int n;
	ll x,y,ans=0,mod=1;
	cin>>n;
	for(int i=1;i<=n;i++)
    {
		cin>>a[i]>>b[i];
		mod*=a[i]; 
	}
	for(int i=1;i<=n;i++)
    {
		m[i]=mod/a[i];
		exgcd(m[i],a[i],x,y);
		k[i]=(a[i]+x%a[i])%a[i];
		ans=(ans+b[i]*k[i]*m[i])%mod;
	}
	cout<<ans<<endl;
	return 0;
}