这个题的模拟部分虽然麻烦,但是不难想。而 CRT 部分使用暴力即可通过。
暴力 CRT :
long long cal() {
long long res = yushu[1];
long long lllcm = moshu[1];
for (int i = 2; i <= k; i++) {
int cnt = 0;
while (res % moshu[i] != yushu[i]) {
res += lllcm;
res %= llcm;
if (++cnt > moshu[i]) return LLONG_MAX;
}
lllcm = lcm(lllcm, moshu[i]);
}
while (res < mst) res += llcm;
return res;
}
AC记录