70分求调
查看原帖
70分求调
680434
shumu楼主2024/5/1 22:12
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll M=1,n,a[15],b[15],m[15],t[15],c[15],x,y,ans;
void exgcd(ll a,ll b,ll &x,ll &y) {
	if(b==0) {
		x=1;
		y=0;
		return;
	}
	else {
		exgcd(b,a%b,y,x);
		y-=a/b*x;
	}
}
int main() {
	cin>>n;
	for(int i=1;i<=n;i++) {
		cin>>a[i]>>b[i];
		M*=a[i];
	}
	for(int i=1;i<=n;i++) {
		m[i]=M/a[i];
		exgcd(m[i],a[i],x,y);
		t[i]=x;
		c[i]=t[i]*m[i];
		ans+=(b[i]*c[i])%M;
	}
	cout<<ans;
	return 0;
}
2024/5/1 22:12
加载中...