arb2

Time limit: 3s Memory limit: 256MB Input: Output:

Cerință

Vraciul Marian dorește să își afle strămoșii. El știe foarte puține lucruri despre ei, în mare parte datorită faptului că tatăl său, vraciul Șerban, era cam secretos, iar singura moștenire pe care i-a lăsat-o a fost un pergament pe care se află un șir AA de NN numere naturale. El suspectează că arborele său genealogic este cumva codificat acolo, într-o subsecvență a șirului.

El știe că, în trecut, codificarea unui arbore se făcea reținând pentru fiecare nod ii numărul său de fii direcți. Astfel, un șir BB de lungime KK este considerat o codificare validă dacă, considerând B[i]B[i] ca fiind numărul de fii direcți ai nodului ii, se poate construi un arbore valid cu KK noduri (etichetate de la 11 la KK).

Vraciul Marian se întreabă: câte subsecvențe ale șirului AA reprezintă codificarea unui arbore valid?

O subsecvență a șirului AA este definită prin doi indici LL și RR (1≤L≤R≤N1 \leq L \leq R \leq N) și este formată din elementele contigue A[L],A[L+1],…,A[R]A[L], A[L+1], \dots, A[R].

Date de intrare

Pe prima linie se găsește un număr natural, NN.
Pe următoarea linie se găsesc cele NN numere naturale ale șirului AA.

Date de ieșire

Pe prima linie se va găsi un singur număr întreg, reprezentând numărul de subsecvențe valide ale șirului AA.

Restricții și precizări

  • 1≤N≤500 0001 \leq N \leq 500 \ 000;
  • 0≤A[i]≤1 000 000 0000 \leq A[i] \leq 1 \ 000 \ 000 \ 000;
  • Pentru teste în valoare de 15 puncte, N≤10N \leq 10;
  • Pentru alte teste în valoare de 35 de puncte, N≤1000N \leq 1000;

Exemplul 1

stdin

3
0 2 0

stdout

3

Explicație

Subsecvențele valide sunt:

  • (1,1)(1, 1)
  • (3,3)(3, 3)
  • (1,3)(1, 3)
    În total există 33 subsecvențe valide.

Exemplul 2

stdin

3
1 1 1

stdout

0

Explicație

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