@[yunyi2010](/user/1264860)
```cpp
#include<bits/stdc++.h>
using namespace std;
long long m[100],t[100],M=1,w[100],x,X,n[100],y;
void ny(long long a,long long b,long long &x,long long &y)
{
if(b==0)
{
x=1,y=0;
return ;
}
ny(b,a%b,x,y);
long long ta=x,tb=y;
x=tb;
y=ta-a/b*tb;
}
signed main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>m[i]>>t[i];
M=M*m[i];
}
for(int i=1;i<=n;i++)
{
w[i]=M/m[i];
}
for(int i=1;i<=n;i++)
{
ny(w[i],m[i],x,y);//是w[i]在m[i]下的逆元,不是t[i]
X=(X+(t[i]*w[i]*x)%M+M)%M;//会爆long long啊
}
cout<<X%M;
return 0;
}
```
by kevinZ99 @ 2024-02-17 16:37:15