样例错了,输出 84
查看原帖
样例错了,输出 84
941743
zhujianheng楼主2023/9/30 20:57
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[15],b[15],K,M=1,ans;
void exgcd(ll a,ll b,ll d,ll x,ll y){
	if(!b){d=a;x=1;y=0;return;}
	exgcd(b,a%b,d,x,y);
	ll t=x;
	x=y;y=t-a/b*y;
}
void IntChina(){
	ll p,x,y,d;
	for(ll i=1;i<=K;i++){
		p=M/a[i];
		exgcd(p,a[i],d,x,y);
		ans=((ans+p*x*b[i])%M+M)%M;
	}
}
int main(){
	cin>>K;
	for(int i=1;i<=K;i++){
		cin>>a[i]>>b[i];
		M*=a[i];
	}
	IntChina();
	cout<<ans<<endl;
	return 0;
}
2023/9/30 20:57
加载中...