题目描述
给定一个长度为 N 的正整数序列 (A1, A2, …, AN),以及关于该序列的 Q 个查询。
对于每个 q=1,2,…,Q,第 q 个查询给出一对整数 (lq, rq),请输出满足以下两个条件的整数三元组 (i, j, k) 的个数:
- lq≤i<j<k≤rq
- Ai=Aj=Ak
输入格式
输入以如下格式从标准输入中给出。
N Q A1 A2 … AN l1 r1 l2 r2 ⋮ lQ rQ
输出格式
输出 Q 行。对于 q=1,2,…,Q,第 q 行输出第 q 个查询的答案。
样例 1
输入
10 4
2 7 1 8 2 8 1 8 2 8
1 10
1 9
2 10
5 5
输出
5
2
4
0
样例 2
输入
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
说明/提示
限制条件
- 1≤N≤2×105
- 1≤Q≤2×105
- 1≤Ai≤2×105
- 1≤lq≤rq≤N
- 所有输入均为整数
样例解释 1
对于第 1 个查询,满足题目中两个条件的三元组 (i, j, k) 有 $(1, 5, 9),\ (4, 6, 8),\ (4, 6, 10),\ (4, 8, 10),\ (6, 8, 10)$ 共 5 个。
由 ChatGPT 4.1 翻译