90pts WA on#10
查看原帖
90pts WA on#10
743593
xiarui1楼主2025/4/27 21:12
#include <bits/stdc++.h>
using namespace std;
#define int long long
int x,y;
void exgcd(int a,int b){
	if(!b){
		x=1,y=0;
		return;
	}
	exgcd(b,a%b);
	int t=x;
	x=y;
	y=t-a/b*y;
}
int a[100010],m[100010],n,p=1LL,ans;
signed main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	for(int i=0;i<n;i++) cin>>m[i];
	for(int i=0;i<n;i++) p*=m[i];
	for(int i=0;i<n;i++){
		int mk=p/m[i];
		exgcd(mk,m[i]);
		while(x<=0) x+=m[i];
		ans=(ans+a[i]%p*mk%p*x%p)%p;
	}
	while(ans<=0){
		ans+=p;
	}
	cout<<ans%p;
	return 0;
}

2025/4/27 21:12
加载中...