这题竟然可以蓝!最初等的数论知识啊!
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[11],b[11],ans;
void exgcd(int a,int b,int &x,int &y){
if(!b){
x=1,y=0;
return;
}
exgcd(b,a%b,x,y);
int t=x;
x=y;
y=t-a/b*y;
return;
}
signed main(){
scanf("%lld",&n);
for(int i=1;i<=n;i++) scanf("%lld%lld",&a[i],&b[i]);
int mod=1;
for(int i=1;i<=n;i++) mod*=a[i];
for(int i=1;i<=n;i++){
int a1=mod/a[i],x,y;
exgcd(a1,a[i],x,y);
ans=(ans+b[i]*x*a1)%mod;
}
if(ans>0) printf("%lld",ans);
else printf("%lld",ans+mod);
return 0;
}