怪哉
查看原帖
怪哉
100325
peterwuyihong楼主2021/2/11 13:43
#include<bits/stdc++.h>
using namespace std;
long long n;
long long a[11],b[11];
long long M[11],QAQ=1;
long long x,y,ans;
void exgcd(long long a,long long b,long long&x,long long&y)
{
	if(!b)
	{
		x=1,y=0;
		return;
	}
	exgcd(b,a%b,x,y);
	long long z=x;
	x=y,y=z-y*(a/b);
}
int main()
{
//	freopen("123.txt","r",stdin);
//	freopen(".out","w",stdout);
	cin>>n;
	for(long long i=1;i<=n;i++)
	cin>>a[i]>>b[i],QAQ*=a[i];
	for(long long i=1;i<=n;i++)
	M[i]=QAQ/a[i];
	for(long long i=1;i<=n;i++)
	{
		exgcd(M[i],a[i],x,y);
		x=(x%QAQ+QAQ)%QAQ;
	//	printf("%lld*%lld=1(998244353ll%lld)\n",M[i],t,a[i]);
		ans=((ans+x*M[i]*b[i])%QAQ+QAQ)%QAQ;
	}
	cout<<ans;
}
		exgcd(M[i],a[i],x,y);
		x=(x%QAQ+QAQ)%QAQ;
	//

LookLook,这里提前膜就错了,删掉就对了

怪哉

怪哉

这是为什么呢?望dalaodalao解惑

2021/2/11 13:43
加载中...