CF632D.Longest Subsequence
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given array a with n elements and the number m. Consider some subsequence of a and the value of least common multiple (LCM) of its elements. Denote LCM as l. Find any longest subsequence of a with the value l ≤ m.
A subsequence of a is an array we can get by erasing some elements of a. It is allowed to erase zero or all elements.
The LCM of an empty array equals 1.
给你一个包含 n 个元素的数组 a 和一个整数 m。考虑 a 的某个子序列,并记该子序列中所有元素的最小公倍数(LCM)为 l。请找出任意一个满足 l≤m 的最长子序列。
数组 a 的一个子序列,是指通过从 a 中删除若干(可以是零个或全部)元素后所得到的数组。
空数组的 LCM 定义为 1。
输入格式
The first line contains two integers n and m (1 ≤ n, m ≤ 106) — the size of the array a and the parameter from the problem statement.
The second line contains n integers a__i (1 ≤ a__i ≤ 109) — the elements of a.
第一行包含两个整数 n 和 m(1 ≤ n, m ≤ 106)——分别为数组 a 的大小以及题目描述中给出的参数。
第二行包含 n 个整数 ai(1 ≤ ai ≤ 109)——即数组 a 的元素。
输出格式
In the first line print two integers l and k__max (1 ≤ l ≤ m, 0 ≤ k__max ≤ n) — the value of LCM and the number of elements in optimal subsequence.
In the second line print k__max integers — the positions of the elements from the optimal subsequence in the ascending order.
Note that you can find and print any subsequence with the maximum length.
第一行输出两个整数 l 和 kmax(1 ≤ l ≤ m,0 ≤ kmax ≤ n)—— 分别为最小公倍数(LCM)的值以及最优子序列的元素个数。
第二行输出 kmax 个整数——按升序排列的最优子序列中各元素在原序列中的位置。
注意:你可以找出并输出任意一个长度最大的子序列。
输入输出样例
输入#1
7 8 6 2 9 2 7 2 3
输出#1
6 5 1 2 4 6 7
输入#2
6 4 2 2 2 3 3 3
输出#2
2 3 1 2 3
输入解题思路,AI测评打分。不知道怎么写?