結果
| 問題 |
No.2081 Make a Test Case of GCD Subset
|
| コンテスト | |
| ユーザー |
ニックネーム
|
| 提出日時 | 2022-09-25 23:16:48 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 780 bytes |
| コンパイル時間 | 244 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 10,752 KB |
| 最終ジャッジ日時 | 2024-12-22 15:00:21 |
| 合計ジャッジ時間 | 5,135 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 5 WA * 22 |
ソースコード
class PrimeNumbers:
def __init__(self, nmax):
self.prime_judgement = [True]*(nmax+1)
self.prime_judgement[0] = self.prime_judgement[1] = False
for i in range(2, nmax+1):
if self.prime_judgement[i]:
for j in range(2, nmax//i+1):
self.prime_judgement[i*j] = False
self.prime_list = []
for i, flag in enumerate(self.prime_judgement):
if flag: self.prime_list.append(i)
m = int(input())
pn = PrimeNumbers(10**3)
r = [1]
while r[-1]*2+1 <= m: r.append(r[-1]*2+1)
i = 0
ans = {1}
while m:
while r[-1] > m: r.pop()
p = pn.prime_list[i]; j = 1
for _ in range(len(r)):
while p*j in ans: j += 1
ans.add(p*j)
i += 1; m -= r[-1]
print(len(ans))
print(*ans)
ニックネーム