結果

問題 No.2004 Incremental Coins
ユーザー achapiachapi
提出日時 2022-07-08 23:14:42
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 534 bytes
コンパイル時間 261 ms
コンパイル使用メモリ 81,920 KB
実行使用メモリ 140,556 KB
最終ジャッジ日時 2024-06-08 18:39:44
合計ジャッジ時間 5,065 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 35 ms
57,600 KB
testcase_01 AC 36 ms
51,712 KB
testcase_02 AC 40 ms
51,712 KB
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 TLE -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

n,k=map(int,input().split())
a=list(map(int,input().split()))
p=list(map(int,input().split()))
s=a.copy()
mod=998244353
for i in range(n):s[p[i]]+=a[i+1]
t=s.copy()
for i in range(n):t[p[i]]+=s[i+1]
l=[(t[i]-s[i])-(s[i]-a[i])for i in range(n+1)]
def sum(a, r, n):
    if n == 1:return a % mod
    x = sum(a, r, n//2)
    ret = (x + pow(r, n//2, mod) * x) % mod
    if n & 1:ret = (a + r * ret) % mod
    return ret
for i in range(n+1):
    ans=a[i]
    if l[i]!=0:ans+=sum(1,t[i]-s[i],k)
    else:ans+=(t[i]-s[i])*k%mod
    print(ans)
0