#P14718. [Bulgarian2023春季赛]Lissequential

[Bulgarian2023春季赛]Lissequential

题目描述

给定一个由 11NN 组成的排列 a1,a2,,aNa_1,a_2,\ldots,a_N

如果存在一组下标 j1<j2<<jMj_1<j_2<\cdots<j_M,使得对应元素 aj1,aj2,,ajMa_{j_1},a_{j_2},\ldots,a_{j_M} 经过重新排列后 可以成为一段连续整数,那么称这组下标构成一个特殊子序列。更形式化地说,存在一种重新排列方式,使得:

ajk1+1=ajk2a_{j_{k_1}}+1=a_{j_{k_2}} ajk2+1=ajk3a_{j_{k_2}}+1=a_{j_{k_3}} \cdots ajkM1+1=ajkMa_{j_{k_{M-1}}}+1=a_{j_{k_M}}

你需要回答 QQ 个询问 (li,ri)(l_i,r_i)。对于每个询问,求:

  • 在下标区间 [li,ri][l_i,r_i] 对应的子数组中,最长特殊子序列的长度是多少?

更准确地说,我们要求最大的 MM,使得存在一个特殊子序列满足:

lij1<j2<<jMril_i \le j_1 < j_2 < \cdots < j_M \le r_i

输入格式

第一行包含两个整数 N,QN,Q,分别表示数字个数和询问个数。

第二行包含 NN 个整数,表示排列 a1,a2,,aNa_1,a_2,\ldots,a_N

接下来 QQ 行,每行包含两个整数 li,ril_i,r_i

输出格式

对于每个询问,输出一行一个整数,表示所求特殊子序列的最大长度。

数据范围

  • 1N,Q2×1051 \le N,Q \le 2 \times 10^5
  • 1aiN1 \le a_i \le N
  • 1liriN1 \le l_i \le r_i \le N

子任务

子任务 分值 N,QN,Q 额外限制
1 3 2×103\le 2 \times 10^3
2 5 1.5×104\le 1.5 \times 10^4
3 13 2×105\le 2 \times 10^5 rili+1103r_i-l_i+1 \le 10^3
4 28 5×104\le 5 \times 10^4
5 25 105\le 10^5
6 26 2×105\le 2 \times 10^5

通过某个子任务的全部测试后,才能获得该子任务的分数。

样例

输入

4 2
2 4 1 3
1 4
2 4

输出

4
2

样例解释

第一个询问包含了所有数字,它们显然可以重排成 1,2,3,41,2,3,4

第二个询问包含数字 4,1,34,1,3。我们能选择的最长特殊子序列由数字 4433 组成,它们可以重排成 3,43,4