#AT2507. G - Triple Index

G - Triple Index

当前没有测试数据。

G - 三重指标

分数:600分

问题描述

给定一个长度为$N$的正整数序列$(A_1, A_2, \ldots, A_N)$,以及$Q$个关于这个序列的查询。

对于每个$q = 1, 2, \ldots, Q$,第$q$个查询给出一个整数对$(l_q, r_q)$; 输出满足以下条件的整数三元组$(i, j, k)$的数量:

  • $l_q \leq i \lt j \lt k \leq r_q$,且
  • $A_i = A_j = A_k$。

约束

  • $1 \leq N \leq 2 \times 10^5$
  • $1 \leq Q \leq 2 \times 10^5$
  • $1 \leq A_i \leq 2 \times 10^5$
  • $1 \leq l_q \leq r_q \leq N$
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入中给出:

NN QQ

A1A_1 A2A_2 \ldots ANA_N

l1l_1 r1r_1

l2l_2 r2r_2

\vdots

lQl_Q rQr_Q

输出

输出$Q$行。 对于每个$q = 1, 2, \ldots, Q$,第$q$行应包含第$q$个查询的答案。


10 4
2 7 1 8 2 8 1 8 2 8
1 10
1 9
2 10
5 5
5
2
4
0

对于第一个查询,有五个满足问题描述中条件的整数三元组: $(1, 5, 9), (4, 6, 8), (4, 6, 10), (4, 8, 10)$ 和 $(6, 8, 10)$。


20 10
2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 1 2 1
12 16
17 18
12 18
4 9
13 13
2 5
6 13
2 14
7 14
8 12
1
0
5
2
0
1
11
55
8
1