Preparando MOJI

Three Occurrences

5000ms 524288K

Description:

You are given an array $$$a$$$ consisting of $$$n$$$ integers. We denote the subarray $$$a[l..r]$$$ as the array $$$[a_l, a_{l + 1}, \dots, a_r]$$$ ($$$1 \le l \le r \le n$$$).

A subarray is considered good if every integer that occurs in this subarray occurs there exactly thrice. For example, the array $$$[1, 2, 2, 2, 1, 1, 2, 2, 2]$$$ has three good subarrays:

  • $$$a[1..6] = [1, 2, 2, 2, 1, 1]$$$;
  • $$$a[2..4] = [2, 2, 2]$$$;
  • $$$a[7..9] = [2, 2, 2]$$$.

Calculate the number of good subarrays of the given array $$$a$$$.

Input:

The first line contains one integer $$$n$$$ ($$$1 \le n \le 5 \cdot 10^5$$$).

The second line contains $$$n$$$ integers $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$ ($$$1 \le a_i \le n$$$).

Output:

Print one integer — the number of good subarrays of the array $$$a$$$.

Sample Input:

9
1 2 2 2 1 1 2 2 2

Sample Output:

3

Sample Input:

10
1 2 3 4 1 2 3 1 2 3

Sample Output:

0

Sample Input:

12
1 2 3 4 3 4 2 1 3 4 2 1

Sample Output:

1

Informação

Codeforces

Provedor Codeforces

Código CF1418G

Tags

data structuresdivide and conquerhashingtwo pointers

Submetido 0

BOUA! 0

Taxa de BOUA's 0%

Datas 09/05/2023 10:06:49

Relacionados

Nada ainda