結果
問題 | No.2081 Make a Test Case of GCD Subset |
ユーザー |
|
提出日時 | 2022-09-26 20:18:28 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 724 bytes |
コンパイル時間 | 249 ms |
コンパイル使用メモリ | 82,604 KB |
実行使用メモリ | 67,852 KB |
最終ジャッジ日時 | 2024-12-22 15:42:38 |
合計ジャッジ時間 | 5,363 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 25 WA * 2 |
ソースコード
m = int(input()) if m == 0: print(1) print(1) exit() def e(n): #O(NloglogN) l = [True]*(n+1) l[0] = False l[1] = False for i in range(2,n): if l[i]: for p in range(i+i,n+1,i): l[p] = False return l t = e(10**5) pn = [] for i in range(2, 10**5): if t[i]: pn.append(i) now = 0 left = m bits = [] while left: if left & 1: bits.append(now) left >>= 1 now += 1 from collections import deque que = deque(pn) koho = [] for i in bits: pn = que.popleft() for j in range(i): koho.append(pn) koho.append(que.pop()) ans = set() koho.sort(key = lambda x:-x) for i in koho: if i not in ans: ans.add(i) else: ans.add(i*que.popleft()) print(len(ans)) print(*ans)