CF632D Longest Subsequence
题目描述
给定有 $n$ 个元素的数组 $a$ 和数字 $m$。记 LCM 为 $l$ 。找出使 $l \le m$ 的 $a$ 的最长子序列。
定义 $a$ 的子序列为通过删除 $a$ 中的一些元素得到的数组。允许删除 $0$ 个元素或所有元素。
空数组的 LCM 等于 $1$。
输入格式
第一行包含两个整数 $n$ 和 $m$ ( $ 1 \le n,m \le 10^{6} $ ) — 数组 $a$ 的大小和题目描述中的参数。
第二行包含 n 个整数 $ a_{i} $ ( $ 1 \le a_{i} \le 10^{9} $ ) — $a$ 的元素。
输出格式
第一行打印两个整数 $ l $ 和 $ k_{\max} $ ( $ 1 \le l \le m,0 \le k_{\max} \le n $ ) — LCM 的值和最优子序列中的元素数量。
第二行打印 $ k_{\max} $ 个整数 — 按升序排序输出元素。
请注意,您可以找到并打印任何具有最大长度的子序列。