bete

Time limit: 1s Memory limit: 256MB Input: bete.in Output: bete.out

Se dă NN și un șir a1,a2,,aNa_1, a_2, \dots, a_N de numere naturale.
Un tri-băț este o tripletă (i,j,k)(i, j, k) cu următoarele proprietăți:

  • 1i<j<kN1 \leq i < j < k \leq N
  • ai=ai+1==aj1=aj+1==aka_i = a_{i+1} = \dots = a_{j-1} = a_{j+1} = \dots = a_{k}
  • aiaja_i \neq a_j

De exemplu, în șirul [1,1,2,1,1,1,3,1,3,3][1, 1, 2, 1, 1, 1, 3, 1, 3, 3] câteva tri-bețe sunt: (2,3,4),(1,3,4),(1,3,5),(5,7,8),(7,8,10)(2, 3, 4), (1, 3, 4), (1, 3, 5), (5, 7, 8), (7, 8, 10).

(1,3,4)(1, 3, 4) este tri-băț, deoarece [a1,a2,a3,a4]=[1,1,2,1][a_1, a_2, a_3, a_4] = [1, 1, 2, 1]. Respectă toate proprietățile.

De asemenea, (1,2,3),(4,5,6),(4,3,2)(1, 2, 3), (4, 5, 6), (4, 3, 2) nu sunt tri-bețe.

Cerință

Se dă NN și șirul a1,a2,,aNa_1, a_2, \dots, a_N.
Să se afle numărul de tri-bețe din acest șir.

Date de intrare

Pe prima linie a fișierului de intrare bete.in se află numărul NN.
Pe a doua linie se află șirul a1,a2,,aNa_1, a_2, \dots, a_N.

Date de ieșire

Să se afișeze în fișierul bete.out numărul de tri-bețe din șirul aa.

Restricții și precizări

  • 1N200 0001 \leq N \leq 200 \ 000;
  • 1aiN1 \leq a_i \leq N pentru fiecare ii de la 11 la NN.
# Punctaj Restricții
1 11 N10N \leq 10
2 17 N100N \leq 100
3 18 N500N \leq 500
4 14 N3000N \leq 3 000
5 19 ai3a_i \leq 3
6 21 Fără alte restricții

Exemplu

bete.in

11
1 2 2 2 3 2 2 1 2 1 1

bete.out

10

Explicație

Tri-bețele sunt:
(2,5,6)(2, 5, 6); (2,5,7)(2, 5, 7); (3,5,6)(3, 5, 6); (3,5,7)(3, 5, 7); (4,5,6)(4, 5, 6); (4,5,7)(4, 5, 7); (6,8,9)(6, 8, 9); (7,8,9)(7, 8, 9); (8,9,10)(8, 9, 10); (8,9,11)(8, 9, 11).
În total, 1010.

Log in or sign up to be able to send submissions!