Pagini recente » Diferente pentru planificare/sedinta-20100325 intre reviziile 15 si 21 | Diferente pentru implica-te/scrie-articole intre reviziile 25 si 26 | Diferente pentru ciorna intre reviziile 121 si 122 | Diferente pentru planificare/sedinta-20110710 intre reviziile 4 si 8 | Diferente pentru problema/peru intre reviziile 12 si 20
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="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 $S{~i~}$. 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 $S{~i~}$ 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: $X{~0~} * 23^N-1^ + X{~1~} * 23^N-2^ + ... + X{~N-1~}$ modulo $10^9^ + 7$, unde $X{~i~}$ reprezintă efortul minim total pentru a strivi primii $i + 1$ gândaci.
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 $S{~i~}$. 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 $S{~i~}$ 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: $X{~0~} * 23^N-1^ + X{~1~} * 23^N-2^ + ... + X{~N-1~}$ modulo $10^9^ + 7$, unde $X{~i~}$ reprezintă efortul minim total pentru a strivi primii $i + 1$ gândaci.
h2. Date de intrare
Fişierul de intrare $peru.in$ contine pe prima linie $T$, numarul de gandaci.
Urmatoarele $2 * T$ linii contin descrierea testelor, cate doua linii pentru fiecare test:
Prima linie contine $N$ si $K$, iar a doua linie contine vectorul $R$ de lungime $N$.
Fişierul de intrare $peru.in$ contine pe prima linie numerele $N$ şi $K$, iar pe a doua linie un şir de $N$ numere.
h2. Date de ieşire
În fişierul de ieşire $peru.out$ contine $T$ linii, pe linia $i$ aflandu-se raspunsul pentru al $i$-lea test.
daca sirul e $d1, d2, ..., dn$, raspunsul se calculeaza asa:
$int ans = 0; for (int i = 1; i <= n; i++) ans = (23LL * ans + di) % 1000000007$.
În fişierul de ieşire $peru.out$ conţine un singur număr reprezentând rezultatul obţinut.
h2. Restricţii
* $1 ≤ K ≤ N$
* $1 ≤ S{~i~} ≤ 2*10^9^$
* $1 ≤ S{~i~} ≤ 2 * 10^9^$
* Pentru $20$ puncte, $1 ≤ N ≤ 2000$
* Pentru alte $30$ puncte, $1 ≤ N ≤ 400000$
* Se recomanda parsarea fisierului de intrare
h2. Exemplu
table(example). |_. peru.in |_. peru.out |_. Explicatie |
| 5
7 4
6 6 12 12 8 1 4
7 3
1 1 2 3 2 1 1
5 3
2 3 2 3 2
5 3
1 3 1 3 1
16 7
1 2 3 4 5 6 7 14 12 10 8 6 4 7 1 9
| 930347444
155082818
597891
318026
731832314
| 6 6 12 12 18 18 20
1 1 2 4 4 5 5
2 3 3 5 6
1 3 3 4 5
1 2 3 4 5 6 7 15 16 17 18 19 20 21 22 26
|
h2. Exemplu
table(example). |_. peru.in |_. peru.out |
| 8 3
3 2 9 8 7 11 3 4
| 720026253
|
== include(page="template/taskfooter" task_id="peru") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.