結果
問題 | No.2963 Mecha DESU |
ユーザー |
|
提出日時 | 2024-11-16 17:05:56 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 247 ms / 2,000 ms |
コード長 | 1,129 bytes |
コンパイル時間 | 526 ms |
コンパイル使用メモリ | 82,688 KB |
実行使用メモリ | 114,176 KB |
最終ジャッジ日時 | 2024-11-16 17:06:18 |
合計ジャッジ時間 | 10,518 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 57 |
ソースコード
from collections import deque, defaultdict as ddfrom copy import deepcopyfrom heapq import heappop, heappush, heappushpop, heapifyINF = 1 << 60MOD = 998244353def fast_mod_pow(x, p, m):res = 1t = xz = pwhile z > 0:if z % 2 == 1:res = (res * t) % mt = (t * t) % mz //= 2return resdef extended_gcd(a, b):if b == 0:return a, 1, 0else:g, x, y = extended_gcd(b, a % b)return g, y, x - (a // b) * ydef mod_inverse(a, m):_, x, _ = extended_gcd(a, m)return (x % m + m) % mdef main():n, m, k = map(int, input().split())a = list(map(int, input().split()))memo = [0 for _ in range(n+1)]memo[0] = 1dic = dd(lambda: 0)for v in a:dic[v] += 1for key, v in dic.items():for i in range(1, n//key+1):memo[key*i] += vp = [fast_mod_pow(i, k, MOD)for i in range(m+1)]div = mod_inverse(p[m], MOD)ans = 0for i in range(1, n+1):ans = (ans+(MOD+1-p[m-memo[i]]*div%MOD)%MOD)%MODprint(ans)if __name__ == "__main__":main()