Fişierul intrare/ieşire: | peru.in, peru.out | Sursă | RMI 2020 Ziua 1 |
Autor | Alexandru Petrescu | Adăugată de | |
Timp execuţie pe test | 0.55 sec | Limită de memorie | 256000 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Peru
Azi dimineaţă, Roxy a găsit N gândaci pe birou. Ei sunt numerotaţi de la 0 la N - 1 şi fiecare gândac i are puterea Si. Roxy vrea să strivească gândacii pentru a-şi, face tema la matematică. Pentru asta, a cumpărat o mănuşă specială pe care o poate folosi pentru a lovi o subsecvenţă continuă de K gândaci. Dacă Roxy face un efort E, atunci acei gândaci a căror putere Si este mai mică sau egală cu E vor fi strivitţi, în timp ce toţi ceilalţi vor rămâne nevătămaţi. Gândacii striviţi îşi menţin poziţiile pe birou. Roxy poate folosi mănuşa de câte ori doreşte. Roxy vrea să ştie dacă tu poţi calcula efortul minim necesar pentru a strivi primii i gândaci pentru fiecare 1 ≤ i ≤ N. Pentru că sunt prea multe numere, Roxy doreşte să-i dai rezultatul expresiei următoare: X0 * 23N-1 + X1 * 23N-2 + ... + XN-1 modulo 109 + 7, unde Xi reprezintă efortul minim total pentru a strivi primii i + 1 gândaci.
Date de intrare
Fişierul de intrare peru.in contine pe prima linie numerele N şi K, iar pe a doua linie un şir de N numere.
Date de ieşire
În fişierul de ieşire peru.out conţine un singur număr reprezentând rezultatul obţinut.
Restricţii
- 1 ≤ N ≤ 2500000
- 1 ≤ K ≤ N
- 1 ≤ Si ≤ 2 * 109
- Pentru 20 puncte, 1 ≤ N ≤ 2000
- Pentru alte 30 puncte, 1 ≤ N ≤ 400000
- Se recomanda parsarea fisierului de intrare
Exemplu
peru.in | peru.out |
---|---|
8 3 3 2 9 8 7 11 3 4 | 720026253 |