Arreglos Mágicos


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal

Valeria está muy interesada en la magia. La magia la atrae tanto que la ve en todas partes. Explica cualquier fenómeno extraño y desconocido a través de la intervención de fuerzas sobrenaturales. Pero quién hubiera pensado que incluso en una serie regular de números, Valeria logra ver algo hermoso y mágico.

Valeria obtuvo por accidente un trozo de pergamino antiguo en el que estaba escrito una serie de números. Inmediatamente pensó que los números en el arreglo no eran aleatorios. Como resultado de una extensa investigación, Valeria descubrió una maravillosa propiedad que debe tener un arreglo mágico: un arreglo se define como mágico si su mínimo y su máximo coinciden.

Decidió compartir contigo este extraordinario descubrimiento, pero a cambio te pide ayuda. A pesar de la tremenda inteligencia e ingenio, Valeria cuenta muy mal y por eso tendrás que completar su trabajo. Todo lo que tienes que hacer es contar el número de sub-arreglos mágicos del arreglo original de números, escrito en el pergamino. Un sub-arreglo se define como una secuencia no vacía de elementos consecutivos.

Entrada

La primera línea de los datos de entrada contiene un número entero n (1 \leq n \leq 10^5). La segunda línea contiene un arreglo de números enteros a_1, a_2, ...,a_n (-10^9 \leq a_i \leq 10^9).

Salida

Imprime en una sola línea la respuesta al problema: la cantidad de sub-arreglos, que son mágicos.

Ejemplo de Entrada 1

4
2 1 1 4

Ejemplo de Salida 1

5

Ejemplo de Entrada 2

5
-2 -2 -2 0 1

Ejemplo de Salida 2

8

Explicación

Los sub-arreglos mágicos se muestran con pares de índices [a;b] del principio y el final.

En el primer ejemplo: [1;1], [2;2], [3;3], [4;4], [2;3].

En el segundo ejemplo: [1;1], [2;2], [3;3], [4;4], [5;5], [1;2], [2;3], [1; 3].


Comments

There are no comments at the moment.