编程题
### 问题描述 康康有一个序列 $B=(b_1, b_2, \cdots, b_n)$,以及若干次询问。设 $C$ 是 $B_m$ 的子序列,且 $C$ 的最长上升子序列的长度不超过 $k$。每次询问会给定两个整数 $m$ 和 $k$,你需要对于 $B$ 序列的前 $m$ 个元素构成的序列 $B_m = (b_1, b_2, \cdots, b_m)$ 和 $k$,求解出 $C$ 的最大长度。 ### 输入格式 第一行两个整数 $n, q$,其中 $n$ 是序列 B 的长度,$q$ 是询问次数。 第二行是空格隔开的 $n$ 个正整数 $b_1, b_2, \cdots, b_n$。 接下来 $q$ 行,其中第 $i$ 行包含两个整数 $m_i,k_i$,表示对 $m = m_i, k = k_i$ 进行询问。 ### 输出格式 输出共 $q$ 行,按顺序每行一个整数作为回答。 ### 样例输入 ``` 11 6 9 6 3 1 5 12 8 4 2 2 2 5 1 7 2 9 1 9 2 11 1 11 11 ``` ### 样例输出 ``` 4 6 5 8 7 11 ``` ### 评测数据规模 $1 \leq n \leq 10^4$,$1 \leq q \leq 10^5$,$1 \leq b_i \leq 5 \times 10^4$,$1 \leq k_i \leq m_i \leq n$。
查看答案
赣ICP备20007335号-2