sirbun

Time limit: 0.18s Memory limit: 256MB Input: sirbun.in Output: sirbun.out

Un străbun get, Ziraxes, le-a dat dacilor liberi să rezolve o problemă de programare, aceasta fiind o activitate mai plăcută decât să care bolovani, pietricele şi nisip. Legenda spune că asupra elementelor unui şir AA de numere naturale nenule se poate efectua următoarea operaţie:

  • Se alege un element AiA_{i} din şir şi un număr natural xx şi se scade xx din AiA_{i}, deci AiA_{i} devine AixA_{i}-x.

Şirul AA se numeşte bun dacă aplicând operaţia de oricâte ori, elementele şirului AA devin numere naturale nenule distincte. De exemplu, şirul 2,3,3,52,3,3,5 este bun deoarece scăzând 22 din al doilea element el devine 2,1,3,52,1,3,5 şi are elementele distincte, iar şirul 2,2,7,2,42,2,7,2,4 nu este bun.

Cerință

Fiind dat un şir AA format cu NN elemente numere naturale nenule, determinaţi numărul subsecvenţelor din şir care sunt şiruri bune. O subsecvenţă a șirului este formată din elemente din şir aflate pe poziţii consecutive.

Date de intrare

Pe prima linie a fişierului de intrare se află numărul NN, iar pe a doua linie elementele şirului AA.

Date de ieșire

În fişierul de ieşire se va afişa numărul subsecvenţelor din şirul AA care sunt şiruri bune.

Restricții

  • 1N100 0001\leq N \leq 100\ 000.
  • 1AiN1\leq A_{i} \leq N.
# Punctaj Restricții
1 19 1N3001\leq N\leq 300
2 20 1N1 5001\leq N\leq 1\ 500
3 22 1N7 0001\leq N\leq 7\ 000
4 17 1N50 0001\leq N\leq 50\ 000
5 22 Fără restricții suplimentare

Exemplu

sirbun.in

5
4 2 2 3 2

sirbun.out

13

Subsecvenţele bune sunt:

  1. {4}\{4\}
  2. {2}\{2\}
  3. {2}\{2\}
  4. {3}\{3\}
  5. {2}\{2\}
  6. {4,2}\{4,2\}
  7. {4,2,2}\{4,2,2\}
  8. {4,2,2,3}\{4,2,2,3\}
  9. {2,2}\{2,2\}
  10. {2,2,3}\{2,2,3\}
  11. {2,3}\{2,3\}
  12. {2,3,2}\{2,3,2\}
  13. {3,2}\{3,2\}

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