4RE求助
查看原帖
4RE求助
200044
JS_TZ_ZHR楼主2020/7/14 22:02

RT,貌似是求逆元是出的错

#include<bits/stdc++.h> 
#define int long long
using namespace std;
int n,a[1000005],b[1000005],m[1000005],mul=1,ny[1000005],ans;
int inv(int x,int p){
	if(x<=1ll)return x;
	return((p-p/x)*inv(p%x,p)%p)%p;
}
signed main(){
	scanf("%lld",&n);
	for(int i=1;i<=n;i++)scanf("%lld%lld",&a[i],&b[i]),mul*=a[i];
	for(int i=1;i<=n;i++){
		m[i]=mul/a[i];
		ny[i]=inv(m[i]%a[i],a[i]);
	}
	for(int i=1;i<=n;i++)ans=(ans+((b[i]*m[i])%mul*ny[i]))%mul;
	printf("%lld\n",ans);
} 
2020/7/14 22:02
加载中...