100分,但是Subtask #1WA了,求调
查看原帖
100分,但是Subtask #1WA了,求调
1048576
New_Void楼主2025/2/6 16:09
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[500000];
ll b[500000];
ll n,m=1;
ll exgcd(ll a,ll b,ll &x,ll &y){
    if (b==0){
        x=1,y=0;
        return a;
    }
    ll s=exgcd(b,a%b,x,y);
    ll c=x;
    x=y;
    y=c-(a/b)*y;
    return s;
}
ll crt(){
    ll ans=0,mi,x,y;
    for (ll i=1;i<=n;i++){
        mi=m/a[i];
        exgcd(mi,a[i],x,y);
        ans=((ans+mi*x*b[i])%m+m)%m;
    }
    return (ans+m)%m;
}
signed main(){
    cin>>n;
    for (ll i=1;i<=n;i++){
        cin>>a[i]>>b[i];
        m*=a[i];
    }
    cout<<crt();
    return 0;
}

2025/2/6 16:09
加载中...