#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
int n[15],m[15],x=0,a[15],N=1;
int T,k[15],mod;
inline int ksm(int u,int v){
if(!v) return 1;
int num=ksm(u,v>>1);
num=num*num%mod;
if(v&1) num=num*u%mod;
return num;
}
signed main(){
cin >> T;
for(int i=1;i<=T;i++){
cin >> n[i] >> a[i];
N*=n[i];
}
for(int i=1;i<=T;i++){
m[i]=(N/n[i])%N;
}
for(int i=1;i<=T;i++){
mod=n[i];
k[i]=ksm(m[i],mod-2);
}
for(int i=1;i<=T;i++){
x=(x+(a[i]*m[i]*k[i])%N)%N;
}
if(T==1) cout << a[1];
else cout << x;
return 0;
}
代码如上,求大佬调orz.