結果

問題 No.2806 Cornflake Man
ユーザー titiatitia
提出日時 2024-07-15 02:48:27
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 317 ms / 2,000 ms
コード長 677 bytes
コンパイル時間 157 ms
コンパイル使用メモリ 82,136 KB
実行使用メモリ 166,800 KB
最終ジャッジ日時 2024-07-17 20:28:18
合計ジャッジ時間 3,838 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 157 ms
110,584 KB
testcase_01 AC 281 ms
145,772 KB
testcase_02 AC 72 ms
80,628 KB
testcase_03 AC 283 ms
149,416 KB
testcase_04 AC 69 ms
78,580 KB
testcase_05 AC 85 ms
85,496 KB
testcase_06 AC 111 ms
96,092 KB
testcase_07 AC 317 ms
140,788 KB
testcase_08 AC 102 ms
93,808 KB
testcase_09 AC 174 ms
120,428 KB
testcase_10 AC 112 ms
94,792 KB
testcase_11 AC 66 ms
74,008 KB
testcase_12 AC 131 ms
98,452 KB
testcase_13 AC 205 ms
115,860 KB
testcase_14 AC 86 ms
86,232 KB
testcase_15 AC 215 ms
166,800 KB
testcase_16 AC 36 ms
53,268 KB
testcase_17 AC 37 ms
52,620 KB
testcase_18 AC 37 ms
53,692 KB
testcase_19 AC 36 ms
52,688 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline

N,M=map(int,input().split())
A=list(map(int,input().split()))

USED=set()
ko=0
SET=set(A)
ANS=[]

for i in sorted(A)[1:]:
    if M//i>N:
        continue

    flag=1

    for j in range(10**9+1):
        if i*j>M:
            break
        if i*j in SET:
            if i*j in USED:
                pass
            else:
                flag+=1
        else:
            flag=0
            break

    if flag>1:
        ANS.append(i)

        for j in range(10**9+1):
            if i*j>M:
                break
            USED.add(i*j)

    if len(USED)==len(SET):
        print(len(ANS))
        print(*ANS)
        exit()

print(-1)
0