[HAOI2007] 上升序列
题目描述
对于一个给定的 $S=\{a_1,a_2,a_3,…,a_n\}$ , 若有 $P=\{a_{x_1},a_{x_2},a_{x_3},…,a_{x_m}\}$ , 满足 $(x_1<x_2<…<x_m)$ 且 $(a_{x_1}<a_{x_2}<…<a_{x_m})$ 。那么就称 $P$ 为 $S$ 的一个上升序列。如果有多个 $P$ 满足条件,那么我们想求字典序最小的那个。
任务:
给出 $S$ 序列,给出若干询问。对于第 $i$ 个询问,求出长度为 $L_i$ 的上升序列,如有多个,求出字典序最小的那个(即首先 $x_1$ 最小,如果不唯一,再看 $x_2$ 最小……),如果不存在长度为 $L_i$ 的上升序列,则打印 `Impossible`。
输入输出格式
输入格式
第一行一个 $N$,表示序列一共有 $N$ 个元素。
第二行 $N$ 个数,为 $a_1, a_2 , \cdots , a_n$。
第三行一个 $M$,表示询问次数。下面接 $M$ 行每行一个数 $L$,表示要询问长度为 $L$ 的上升序列。
输出格式
对于每个询问,如果对应的序列存在,则输出,否则打印 `Impossible`。
输入输出样例
输入样例 #1
6
3 4 1 2 3 6
3
6
4
5
输出样例 #1
Impossible
1 2 3 6
Impossible
输入样例 #2
6
6 7 1 2 3 4
1
2
输出样例 #2
6 7
说明
$N \le 10000$,$M \le 1000$,保证数据随机。