for (LL i = 0; i < k; i++) { ans += !((f[1] >> i) & 1); } if (ans == 64 && !n) { return cout << "18446744073709551616", 0; }
这一段特判时 184467440737095516161844674407370955161618446744073709551616 一定是字符串类型,不然会再次溢出,判了跟每判一样