結果
| 問題 |
No.2211 Frequency Table of GCD
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-02-18 03:53:35 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,444 ms / 2,000 ms |
| コード長 | 586 bytes |
| コンパイル時間 | 481 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 107,392 KB |
| 最終ジャッジ日時 | 2024-07-19 17:55:37 |
| 合計ジャッジ時間 | 19,098 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 26 |
ソースコード
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
A = list(map(int, input().split()))
cnt = [0]*(M+1)
for Ai in A:
for d in range(1, int(Ai**0.5)+1):
if Ai%d==0:
cnt[d] += 1
if d!=Ai//d:
cnt[Ai//d] += 1
ans = [0]*(M+1)
MOD = 998244353
pow2 = [1]*(N+10)
for i in range(1, N+10):
pow2[i] = pow2[i-1]*2%MOD
for d in range(M, 0, -1):
ans[d] = (pow2[cnt[d]]-1)%MOD
for x in range(2*d, M+1, d):
ans[d] -= ans[x]
ans[d] %= MOD
for d in range(1, M+1):
print(ans[d])