leftmax

Time limit: 0.1s Memory limit: 64MB Input: leftmax.in Output: leftmax.outPoints by default: 10p

În clasa lui Dexter sunt NN elevi de înălțimi distincte. La ora de sport, ei sunt așezați în linie, de la stânga la dreapta. Profesorul lor, Johnny, va selecta pentru un exercițiu elevi aflați pe poziții consecutive în linie, astfel încât cel mai înalt elev dintre cei selectați să se afle în prima jumătate a acestora.

De exemplu, dacă elevii au, în ordine, înălțimile 11, 55, 44, atunci profesorul poate să îi selecteze pe cei cu înălțimile 55 și 44, dar nu poate să îi selecteze pe cei cu înălțimile 11 și 55. Desigur, există mai multe moduri de a selecta elevii astfel încât să fie satisfăcută condiția de mai sus. Profesorul Johnny ar vrea să afle în câte moduri se poate face acest lucru.

Cerinţă

Dându-se NN și înălțimile elevilor din clasă, aflați în câte moduri pot fi selectați oricâți elevi aflați pe poziții consecutive, astfel încât să fie îndeplinită condiția din enunț.

Date de intrare

Fișierul de intrare leftmax.in conține, pe prima linie, numărul NN, iar pe a doua linie înălțimile elevilor în ordinea în care sunt așezați în linie.

Date de ieşire

Fișierul de ieșire leftmax.out conține pe prima linie răspunsul la cerință, sub formă de rest al împărțirii la 1 000 000 0071\ 000\ 000\ 007 (modulo 1 000 000 007\text{modulo }1\ 000\ 000\ 007).

Restricţii și precizări

  • 1N100 0001 \leq N \leq 100\ 000
  • Înălțimea oricărui elev este un număr întreg cuprins între 11 și NN, inclusiv.
  • Dacă se selectează un număr impar de elevi, atunci considerăm că cel din mijlocul selecției se află în prima jumătate a elevilor selectați.
  • Pentru 10 puncte, N1 000N \leq 1\ 000 și elevii sunt ordonați descrescător după înălțime.
  • Pentru alte 35 de puncte, N1 000N \leq 1\ 000.
  • Pentru alte 20 de puncte, N30 000N \leq 30\ 000.

Exemplul 1

leftmax.in

4
1 4 2 3

leftmax.out

8

Explicație

Sunt 4 moduri de a selecta câte un singur elev.
Este un singur mod de a selecta câte doi elevi (cei cu înălțimile 44, 22).
Sunt 2 moduri de a selecta câte 3 elevi (cu înălțimile 44, 22, 33 și 11, 44, 22).
Este un singur mod de a selecta toți cei 4 elevi.
În total sunt 8 mod 1 000 000 007=88\ mod\ 1\ 000\ 000\ 007 = 8 moduri.

Exemplul 2

leftmax.in

7
1 2 3 4 5 6 7

leftmax.out

7

Explicație

Se poate selecta doar câte un singur elev.

Exemplul 3

leftmax.in

7
7 6 5 4 3 2 1

leftmax.out

28

Explicație

Se pot selecta oricâți elevi pe poziții consecutive.

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