crt 60pts
查看原帖
crt 60pts
300098
cmaths楼主2022/8/5 17:54
#include <cstdio>
#define int long long

int p[15], a[15];
void exgcd(int a, int b, int &x, int &y)
{
	if(b == 0)
	{
		x = 1;
		y = 0;
		return;
	}
	exgcd(b, a % b, x, y);
	int t = x;
	x = y;
	y = t - a / b * y;
	return;
}
signed main()
{
	int n, m = 1, ans = 0;
	scanf("%lld", &n);
	for(int i = 1; i <= n; i++)
	{
		scanf("%lld %lld", &p[i], &a[i]);
		m *= p[i];
	}
	for(int i = 1; i <= n; i++)
	{
		int mi = m / p[i];
		int x, y;
		exgcd(mi, p[i], x, y);
		x = (x % m + m) % m;
		ans = (ans % m + a[i] % m * mi % m * x % m) % m;
	}
	printf("%lld", ans);
	return 0;
}

球调 orz

2022/8/5 17:54
加载中...