結果
問題 |
No.3153 probability max K
|
ユーザー |
![]() |
提出日時 | 2025-05-20 21:43:32 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 920 ms / 2,000 ms |
コード長 | 633 bytes |
コンパイル時間 | 445 ms |
コンパイル使用メモリ | 12,160 KB |
実行使用メモリ | 32,216 KB |
最終ジャッジ日時 | 2025-05-20 21:43:45 |
合計ジャッジ時間 | 13,437 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
N, K = map(int,input().split()) A = list(map(int,input().split())) #ちょうどKになる場合は #最大値がK以下になる確率から #最大値がK未満になる確率を引けばいい mod = 998244353 ans1 = 1 #最大値がK以下になる確率 for i in range(N): if A[i] >= K: ans1 *= K ans1 *= pow(A[i], -1, mod) else: ans1 *= 1 ans1 %= mod #最大値がK未満になる確率 ans2 = 1 for i in range(N): if A[i] >= K: ans2 *= (K - 1) ans2 *= pow(A[i], -1, mod) else: ans2 *= 1 ans2 %= mod ans = ans1 - ans2 if ans < 0: ans += mod print(ans)