分析:
CRT
tip
开ll,随时%
这里写代码片
#include<cstdio>
#include<cstring>
#include<iostream>
#define ll long long
using namespace std;
int n;
ll a[20],b[20],x,y;
ll M=1;
void exgcd(ll a,ll b)
{
if (b==0)
{
x=1;y=0;
return;
}
else {
exgcd(b,a%b);
int t=y;
y=x-(a/b)*y;
x=t;
}
}
int main()
{
scanf("%d",&n);
ll ans=0;
for (int i=1;i<=n;i++)
scanf("%d%d",&a[i],&b[i]),
M=M*a[i];
for (int i=1;i<=n;i++)
{
ll Mi=M/a[i];
exgcd(Mi,a[i]);
ans=(ans%M+Mi%M*x%M*b[i]%M+M)%M;
}
printf("%lld",ans);
return 0;
}