1090: 我学数论,真的假的?
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:110
Solved:18
Description
OMoonStars 是一名讨厌数论的出题人,他要让所有人都体验做数论题的痛苦。
给定长度为 $n$ 的正整数序列 $a_1,a_2,…,a_n$。输出 $a$ 的最长非空子序列,满足该序列的最小公倍数不包含在该序列中。
如果 $b$ 可以从 $a$ 中删除几个(可能是零个,不能是全部)元素,而不改变其余元素的顺序,那么序列 $b$ 就是 $a$ 的非空子序列。例如 $[5,2,3]$ 是 $[1,5,7,8,2,4,3]$ 的非空子序列。
Input
第一行输入一个整数 $n$ ( $1 \le n \le 2\times10^5$ ),表示数组 $a$ 的长度。
第二行输入 $n$ 个整数 $a_1, a_2, \ldots, a_n$ ( $1 \le a_i \le 10^9$ ),表示数组 $a$ 的元素。
Output
输出 $a$ 的最长满足条件的非空子序列。若 $a$ 的所有非空子序列都不满足条件,输出 $-1$ 。
Sample Input Copy
6
3 2 10 20 60 1
Sample Output Copy
3 2 10 20 1
HINT
序列 $[3,2,10,20,1]$ 的最小公倍数为 $60$,不包含在该序列中。这是 $a$ 的最长满足条件的非空子序列。