NSC

Time limit: 0.2s Memory limit: 128MB Input: Output:

Gigel a învățat la școală despre subșirul strict crescător de lungime maximă. Cum acesta este foarte curios de fel, s-a întrebat câte astfel de subșiruri strict crescătoare de lungime maximă există într-un șir SS.

Cerință

Dându-se șirul SS, format din numere naturale nenule, să se determine numărul de subșiruri strict crescătoare de lungime maximă din acesta.

Date de intrare

Programul citește de la tastatură numărul natural NN, aflat pe prima linie. Pe a doua linie, se vor regăsi NN numere naturale nenule separate printr-un spațiu, reprezentând elementele șirului SS.

Date de ieșire

Programul va afișa numărul de subșiruri strict crescătoare de lungime maximă din șirul SS. Deoarece acest număr poate fi foarte mare, acesta trebuie afișat modulo 1 000 000 0071\ 000\ 000\ 007.

Restricții și precizări

  • 1N100 0001 \leq N \leq 100\ 000
  • Fiecare element din șir este 2 000 000 000\leq 2\ 000\ 000\ 000.
  • Pentru 20 de puncte, 1N1001 \leq N \leq 100.
  • Pentru încă 20 de puncte, 1N5 0001 \leq N \leq 5\ 000.
  • Un subșir este format din unul sau mai multe elemente în ordine din șirul dat, nu neapărat pe poziții consecutive.
  • Distincția dintre două subșiruri se face prin pozițiile elementelor, nu prin valorile acestora.
  • Elementele șirului sunt indexate de la 1.

Exemplu

stdin

10
2 3 4 1 2 3 5 9 1 9

stdout

4

Explicație

Există 4 subșiruri strict crescătoare de lungime maximă. Acestea sunt {2,3,4,5,9}\{2, 3, 4, 5, 9\}, {1,2,3,5,9}\{1, 2, 3, 5, 9\}, {2,3,4,5,9}\{2, 3, 4, 5, 9\} și {1,2,3,5,9}\{1, 2, 3, 5, 9\}. Primele două subșiruri îl au pe 99 de pe poziția 88, iar ultimele două subșiruri îl au pe 99 de pe poziția 1010.
4 mod 1 000 000 007=44\ mod\ 1\ 000\ 000\ 007 = 4.

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