SRM664 Div1 Easy "BearPlays"
解法
例のごとく他人だより。以下、参考にさせていただきました。m(_ _)m
mayokoex.hatenablog.com
事後
あ^~あるはずのない周期性に賭けてしまったんじゃ^~
ソースコード
class BearPlays { public: int pileSize(int A, int B, int K) { long long a = A; long long b = B; long long s = a + b; int m = pow_mod(2, K, s); long long mi = min(a, b); long long res = mi * m % s; long long ans = min(res, s - res); return (int)ans; } // a ^ b % mod 繰り返し2乗法! long long pow_mod(long long a, long long b, long long mod) { long long r = 1; while (b > 0) { if ((b & 1) != 0) { r *= a; r %= mod; } a *= a; a %= mod; b >>= 1; } return r; } };