結果
問題 |
No.2963 Mecha DESU
|
ユーザー |
![]() |
提出日時 | 2024-11-30 12:49:02 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,826 ms / 2,000 ms |
コード長 | 514 bytes |
コンパイル時間 | 2,043 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 253,180 KB |
最終ジャッジ日時 | 2024-11-30 12:49:26 |
合計ジャッジ時間 | 16,466 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 57 |
ソースコード
from collections import defaultdict MOD = 998244353 N, M, K = map(int, input().split()) A = list(map(int, input().split())) dic0 = defaultdict(int) for a in A: dic0[a] += 1 dic1 = defaultdict(int) for k, v in dic0.items(): for i in range(1, N // k + 1): dic1[i * k] += v dic2 = defaultdict(int) for v in dic1.values(): dic2[v] += 1 ans = 0 all = pow(M, K, MOD) for k, v in dic2.items(): ans += v * (all - pow(M - k, K, MOD)) ans %= MOD ans *= pow(all, -1, MOD) ans %= MOD print(ans)