关于第一篇题解中
long long ExCRT() {
...
for(int i = 1; i <= n; ++i) {
...
ans += (__int128)(C/gcd) * x % (B/gcd) * lcm % (lcm*=B/gcd);
...
}
...
}
最后那个 lcm * = B / gcd,既然 lcm 是 p1 ~ pi−1 的最小公倍数,那不应该是
lcm *= p[i] / gcd(lcm, p[i])
吗?
实测换成后一种写法会 WA (有六个点几乎全输出 -1),这是为啥qaq