求助出现WA!!!
查看原帖
求助出现WA!!!
489725
方块鼠楼主2024/3/21 16:49
#include<iostream>
using namespace std;
int number;
long long answer;
long long n[20],a[20];
long long m[20];
long long inv[20];
long long y;//临时变量 
long long time_=1;
long long c[20];
void exgcd(long long a,long long b,long long &x,long long &y){
	if(b==0){
		x=1;
		y=0;
		return;
	}
	exgcd(b,a%b,y,x);
	y-=(a/b*x);
}
int main(){
	inv[1]=inv[0]=1;
	cin>>number;
	for(int i=1;i<=number;i++){
		cin>>n[i]>>a[i];
		time_*=n[i];//模数的积 
	}
	for(int i=1;i<=number;i++){
		m[i]=(time_/n[i]);
		y=0;//临时变量,习惯这样打扩欧了。 
		exgcd(m[i],n[i],inv[i],y);//计算逆元 
		c[i]=m[i]*inv[i];
		answer+=(a[i]*c[i]%time_);//答案计算 
	}
	answer%=time_;//答案计算 
	cout<<answer<<endl;
}
2024/3/21 16:49
加载中...