Type: Default 3000ms 512MiB

[R38D]MINIMEX

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

时空限制

3S/512M

题目描述

给定一个长度为 nn 的整数数列 AA,其中 AA 中的元素两两不同

现有 qq 次询问,每次询问给定一个区间 [l,r][l, r],请你计算以下两个值的乘积:

  1. 区间 [l,r1][l, r-1] 的最小值,即 min(Al,Al+1,,Ar1)\min(A_l, A_{l+1}, \dots, A_{r-1})
  2. 区间 [l,r][l, r] 的最小未出现的自然数(MEX),即 MEX(Al,Al+1,,Ar)\text{MEX}(A_l, A_{l+1}, \dots, A_r)

MEX(S)\text{MEX}(S) 定义为不属于集合 SS 的最小非负整数。

例如:

  • 对于集合 {1,2,3}\{1, 2, 3\},因为 00 不在集合中,所以 MEX=0\text{MEX} = 0
  • 对于集合 {0,2,3}\{0, 2, 3\},因为 00 在但 11 不在,所以 MEX=1\text{MEX} = 1
  • 对于集合 {0,1,2}\{0, 1, 2\},因为 0,1,20, 1, 2 都在,所以 MEX=3\text{MEX} = 3
  • 对于集合 {}\{ \} (空集),MEX=0\text{MEX} = 0

格式

输入格式

第一行包含两个整数 n,qn, q,分别表示数列长度和询问数量。

第二行包含 nn 个整数 AiA_i,表示数列的元素。

接下来 qq 行,每行包含两个整数 l,rl, r,表示一次询问的区间。

输出格式

输出 qq 行,每行一个整数,表示第 ii 次询问计算出的乘积。

样例

样例输入 #1

4 4
3 1 0 2
1 3
2 4
2 3
3 4

样例输出 #1

2
0
2
0

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le qq\le
11 3030 50005000 50005000
22 5050 10610^6
33 2020 10610^6

对于 100%100\% 的数据,满足 1n,q1061 \leq n, q \leq 10^6,数列 AA 中元素两两不同,0Ai<n0 \le A_i < n1l<rn1\leq l < r \leq n

代码源挑战赛 Round 38

Not Attended
Status
Done
Rule
DMY
Start at
2025-11-21 20:00
End at
2025-11-21 21:30
Duration
1.5 hour(s)
Host
Partic.
369