Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2018-05-12 13:34:59.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:sortall.in, sortall.outSursăLot Seniori Campulung 2018, baraj 3
AutorAdrian Budau, Bogdan Ciobanu, Tamio-Vesa NakajimaAdăugată deandreicoman299Coman Andrei andreicoman299
Timp execuţie pe test3 secLimită de memorie524288 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Sortall

Pentru un şir de numere A se defineşte următoarea funcţie de cost:
f(A) = 1 * V1 + 2 * V2 + ... + K * VK, unde [V1, V2, ..., VK] sunt valorile distincte ale lui A, ordonate crescător.

Fiind dat un şir de N numere naturale A, să se calculeze suma aplicării funcţiei f pe toate subsecvenţele lui A (i.e. suma după (1 ≤ i ≤ j ≤ N) din f(A[i...j]), unde A[i…j] este subsecvenţa de la i la j).

Date de intrare

Fişierul de intrare sortall.in conţine pe prima linie numărul natural N. Linia a doua conţine N numere naturale separate prin spaţiu, reprezentând elementele şirului A.

Date de ieşire

În fişierul de ieşire sortall.out va conţine răspunsul modulo 1 000 000 007.

Restricţii

  • 1 ≤ N ≤ 50000
  • 1 ≤ Vi ≤ N
  • Pentru 10 puncte 1 ≤ N ≤ 1000
  • Petru alte 15 puncte 1 ≤ N ≤ 5000
  • Petru alte 20 de puncte se garantează că valorile din şir sunt distincte

Exemplu

sortall.insortall.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?