結果

問題 No.766 金魚すくい
コンテスト
ユーザー norioc
提出日時 2025-11-24 15:43:26
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 576 bytes
コンパイル時間 376 ms
コンパイル使用メモリ 82,648 KB
実行使用メモリ 295,556 KB
最終ジャッジ日時 2025-11-24 15:43:31
合計ジャッジ時間 4,638 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 10 TLE * 1 -- * 31
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from functools import cache
import sys
sys.setrecursionlimit(10**6)


def mod_inv(n: int, mod: int) -> int:
    return pow(n, mod-2, mod)


MOD = 10**9 + 7
N, M, P = map(int, input().split())
V = list(map(int, input().split()))
V.sort()


inv = mod_inv(100, MOD)
p = (100 - P) * inv  # 成功
q = P * inv          # 失敗


# @cache
memo = {}
def f(n, m) -> int:
    if n == 0 or m == 0: return 0

    if (n, m) in memo: return memo[n, m]

    res = p * (f(n-1, m) + V[n-1]) + q * (f(n, m-1) + 0)
    res %= MOD
    memo[n, m] = res
    return res


ans = f(N, M)
print(ans)
0