60分部分代码
int qmod(int x, int mod)
{
return x % mod + (x >= mod) * mod;
}
int qsm(int a, int b, int mod)
{
int res = 1;
while (b)
{
if (b & 1)
res = qmod(res * a, mod);
a = qmod(a * a, mod);
b >>= 1;
}
return res;
}
AC部分代码
int qmod(__int128_t x, int mod)
{
return x % mod + (x >= mod) * mod;
}
int qsm(int a, int b, int mod)
{
int res = 1;
while (b)
{
if (b & 1)
res = qmod((__int128_t)res * a, mod);
a = qmod((__int128_t)a * a, mod);
b >>= 1;
}
return res;
}