結果
問題 |
No.3153 probability max K
|
ユーザー |
|
提出日時 | 2025-05-22 05:05:47 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 575 ms / 2,000 ms |
コード長 | 665 bytes |
コンパイル時間 | 1,475 ms |
コンパイル使用メモリ | 82,464 KB |
実行使用メモリ | 103,928 KB |
最終ジャッジ日時 | 2025-05-22 05:05:57 |
合計ジャッジ時間 | 8,832 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
N,K=(int(x) for x in input().split()) A=list(map(int, input().split())) A=sorted(A) mod=998244353 bunbo=1 num=0 for i in A: if i >= K: bunbo *= i bunbo %= mod num += 1 bunshi = K**(num) - (K-1)**(num) bunshi = pow(K,num,mod) - pow(K-1,num,mod) if bunshi < 0: bunshi += mod def extended_gcd(a, b): if b == 0: return a, 1, 0 g, x, y = extended_gcd(b, a % b) return g, y, x - (a // b) * y def solve(N, S, K): a = K b = N c = (-S) % N g, x, y = extended_gcd(a, b) if c % g != 0: return -1 x0 = (x * (c // g)) % (N // g) return x0 ans = solve(mod, bunshi, -bunbo) print(ans)