結果
| 問題 | No.3462 Buttons |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-02-28 14:29:18 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,518 bytes |
| 記録 | |
| コンパイル時間 | 289 ms |
| コンパイル使用メモリ | 78,000 KB |
| 実行使用メモリ | 75,548 KB |
| 最終ジャッジ日時 | 2026-02-28 14:29:26 |
| 合計ジャッジ時間 | 7,681 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge7 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | WA * 15 |
ソースコード
import sys
input = lambda :sys.stdin.readline()[:-1]
ni = lambda :int(input())
na = lambda :list(map(int,input().split()))
yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES")
no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO")
#######################################################################
def naive(a, b, K):
ans = 0
for k in range(K + 1):
for i in range(1 << k):
z = 0
for j in range(k):
if i >> j & 1:
z += a
else:
z *= b
# print(k, bin(i), z)
ans = max(ans, z)
return ans
def test(a, b, k):
if a == 0:
return 0
elif b == 0:
return max(0, a * k)
elif b == 1:
return max(0, a * k)
elif b > 1:
if a <= 0:
return 0
else:
return a * b ** (k - 1)
elif b == -1:
if a > 0:
return a * k
else:
return -a * (k - 1)
else:
if a > 0:
if k % 2 == 1:
return a * b ** (k-1)
else:
return 2 * a * b ** (k-2)
else:
if k % 2 == 0:
return a * b ** (k-1)
elif k == 1:
return 0
else:
return 2 * a * b ** (k-2)
mod = 998244353
def solve(a, b, k):
if a == 0:
return 0
elif b == 0 or b == 1:
if a > 0:
return a * k % mod
else:
return 0
elif b > 1:
if a < 0:
return 0
else:
return a * pow(b, k-1, mod) % mod
elif b == -1:
if a > 0:
return a * k % mod
else:
return (-a * (k - 1) )% mod
else:
if a > 0:
if k % 2 == 1:
return a * pow(b, k-1, mod) % mod
else:
return 2 * a * pow(b, k-2, mod) % mod
else:
if k % 2 == 0:
return a * pow(b, k-1, mod) % mod
elif k == 1:
return 0
else:
return 2 * a * pow(b, k-1, mod) % mod
# from random import randint
# for _ in range(100000):
# k = randint(1, 3)
# a = randint(-5, 5)
# b = randint(-5, 5)
# r1 = naive(a, b, k)
# r2 = test(a, b, k)
# if r1 != r2:
# print(a, b, k)
# print(r1, r2)
# break
for _ in range(ni()):
a, b, k = na()
print(solve(a, b, k))