84分,求大佬帮助
查看原帖
84分,求大佬帮助
734703
naroto2022楼主2023/7/27 10:50
#include<iostream>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
int n,i;
ll a,b,lcm,now,k,d,x,y;
ll gcd(ll a, ll b, ll &x, ll &y){
    if(!b){
        x=1;
        y=0;
        return a;
    }
    ll c=gcd(b,a%b,x,y),z=x;
    x=y;
    y=z-y*(a/b);
    return c;
}
int main(){
    cin>>n;
    scanf("%lld %lld",&a,&b);
    lcm=a;
    now=b;
    for(i=1; i<n; i++){
        scanf("%lld %lld",&a,&b);
        b=(b-now%a+a)%a;
        d=gcd(lcm,a,x,y);
        k=x*(b/d)%a;
        now+=k*lcm;
        lcm=lcm/d*a;
        now=(now%lcm+lcm)%lcm;
    }
    cout<<now<<endl;
    return 0;
}
2023/7/27 10:50
加载中...