atcoder#ABC293G. [ABC293G] Triple Index

[ABC293G] Triple Index

配点 : 600600

問題文

長さ NN の正整数列 (A1,A2,,AN)(A_1, A_2, \ldots, A_N) と、この数列に関する QQ 個のクエリが与えられます。

q=1,2,,Qq = 1, 2, \ldots, Q のそれぞれについて、qq 番目のクエリでは整数の 22 つ組 (lq,rq)(l_q, r_q) が与えられるので、 下記の 22 つの条件をともに満たす整数の 33 つ組 (i,j,k)(i, j, k) の個数を出力してください。

  • lqi<j<krql_q \leq i \lt j \lt k \leq r_q
  • Ai=Aj=AkA_i = A_j = A_k

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1Ai2×1051 \leq A_i \leq 2 \times 10^5
  • 1lqrqN1 \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

出力

QQ 行出力せよ。 q=1,2,,Qq = 1, 2, \ldots, Q について、qq 行目には qq 番目のクエリに対する答えを出力せよ。

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

11 番目のクエリについて、問題文中の 22 つの条件をともに満たす整数の 33 つ組 (i,j,k)(i, j, k) は、 $(1, 5, 9), (4, 6, 8), (4, 6, 10), (4, 8, 10), (6, 8, 10)$ の 55 個です。

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