Nu aveti permisiuni pentru a descarca fisierul grader_test5.in
Diferente pentru problema/blindpunch intre reviziile #13 si #26
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="blindpunch") ==
In mijlocul noptii ai fost atacat de gandaci. Gandacii, foarte ordonati formeazaunsirin fata ta. Pentru a te apara, ai $K$ papuci pe care iipoti arunca pe cate un gandac (eventual mai multi papuci pe acelasi gandac). Gandacii, foarte creativi, se prefac toti casunt morti pentru a te inducein eroare (fiindintuneric poti savezi gandacii dar nu poti sadistingi dacasunt striviti sau nu). Din fericire,stii pentru fiecare gandac $i$ care este probabilitatea $P~i~$ ca acesta safie strivit printr-o aruncare de papuc (siin caz ca nu este strivit are tot probabilitatea $P~i~$ safie strivit dina doua aruncareetc).
În mijlocul nopţii ai fost atacat de gândaci. Gândacii, foarte ordonaţi formează un şir în faţa ta. Pentru a te apăra, ai $K$ papuci pe care îi poţi arunca pe câte un gândac (eventual poţi arunca mai mulţi papuci pe acelaşi gândac). Gândacii, foarte creativi, se prefac toţi că sunt morţi pentru a te induce în eroare (fiind întuneric poţi să vezi gândacii dar nu poţi să distingi dacă sunt striviţi sau nu). Din fericire, ştii pentru fiecare gândac $i$ care este probabilitatea $P{~i~}$ ca acesta să fie strivit printr-o aruncare de papuc (şi în cazul în care nu este strivit are tot probabilitatea $P{~i~}$ să fie strivit din următoarea aruncare).
Cum esti foarte obositsi urasti mai mult decat orice altcv sase plimbe gandaciin jurul tauin timpul noptii, vrei din cele $K$ lovituri saomori cat mai multi gandaci.
Cum eşti foarte obosit şi urăşti mai mult decât orice altceva să se plimbe gândaci în jurul tău în timpul nopţii, vrei din cele $K$ lovituri să omori cât mai mulţi gândaci.
h2.Cerinta
Dându-se $T$ astfel de scenarii, şi pentru fiecare scenariu numărul $N$ de gândaci, numărul $K$ de papuci, şi şirul $P$, unde al $i$-lea element al şirului reprezintă probabilitatea de a strivi al $i$-lea gândac dintr-o lovitură, calculează valoarea aşteptată ( _expected value_ ) de câţi gândaci poţi strivi dacă arunci în mod optim papucii.
Dandu-se$T$ astfelde scenarii,sipentrufiecarenumarul $N$ de gandaci,sisirul$P$,unde al$i$-leaelement reprezintaprobabilitateade-a strivial$i$-leagandacdintr-olovitura, calculeazaexpecteduldecatigandaci potistrivi dacaarunciinmodoptimpapucii.
Cum esti foarte obosit si urasti mai mult decat orice altcv sa se plimbe gandaci in jurul tau in timpul noptii, vrei din cele $K$ lovituri sa omori cat mai multi gandaci.
h2. Date de intrare
Datele de intrare se citesc din fisierul $blindpunch.in$. Prima linie contine numarul $T$, reprezentand numarul de teste. Prima linie a fiecarui test contine numerele $N$ si $K$, reprezentand numarul de gandaci si respectiv numarul de papuci la dispozitie. Urmatoarea linie contine sirul $P$ de lungime $N$.
Din $blindpunch.in$ se va citi pe prima linie numărul $T$, reprezentând numarul de teste. Prima linie a fiecărui test conţine numerele $N$ şi $K$, reprezentând numărul de gândaci, respectiv numărul de papuci pe care îi ai la dispoziţie. Urmatoarea linie conţine şirul $P$ de lungime $N$.
h2. Date de ieşire
Datele de iesire se afiseaza in fisierul $blindpunch.out$. Afisati $T$ linii, pe linia $i$ fiind expectedul numarului total de gandaci striviti daca aruncati in mod optim papucii in al $i$-lea scenariu. Fiecare numar trebuie afisat cu EXACT $6$ decimale, rotunjit in jos (de ex $1.23456789$ se rotunjeste la $1.234567$). Se garanteaza ca a $7$-a cifra a raspunsului este in intervalul $[0, 7]$
În $blindpunch.out$ se vor afişa $T$ linii, pe linia $i$ fiind valoarea aşteptată a numarului total de gândaci striviţi dacă arunci în mod optim papucii în al $i$-lea scenariu. Numerele trebuie afişate cu *EXACT* $6$ zecimale, rotunjite în jos. Se garantează că a $7$-a zecimală a raspunsului este în intervalul $[2, 7]$.
h2. Restricţii
* $1 ≤ N, K, T ≤ 10^6^$ * Suma $N$-urilor si a $K$-urilor pentru fiecare test nu va depasi $10^6^$ * $0 ≤ P~i~ ≤ 1$ * Pentru teste in valoare de $40$ de puncte, se garanteaza ca $1 ≤ suma N-urilor, suma K-urilor, T ≤ 500$. * Pentru alte teste in valoare de $40$ de puncte, se garanteaza ca $1 ≤ suma N-urilor, suma K-urilor, T ≤ 5000$. 40p O(NK^2) 80p O(NK) 100p O((N+K)logN)
* <tex>1 \leq N, T \leq 2 \cdot 10^5</tex> * <tex>1 \leq K \leq 10^6</tex> * <tex>\displaystyle{\sum_{i=0}^{T}N_i} \leq 2\cdot 10^5, \displaystyle{\sum_{i=0}^{T}K_i} \leq 10^6</tex> * <tex>0 \leq P_i \leq 1</tex> * Pentru teste in valoare de $40$ de puncte, <tex>\displaystyle{\sum_{i=0}^{T}N_i},\ \displaystyle{\sum_{i=0}^{T}K_i},\ T \leq 500</tex> * Pentru alte teste in valoare de $40$ de puncte, <tex>\displaystyle{\sum_{i=0}^{T}N_i}, \ \displaystyle{\sum_{i=0}^{T}K_i},\ T \leq 5000$</tex> * Datele din input sunt date cu cel mult $9$ decimale. * *ATENŢIE la afişarea numerelor reale!* Atunci când veţi afişa un număr asiguraţi-vă că îl afişaţi cu *EXACT* $6$ zecimale. * Va recomandam sa faceti toate calculele folosind _long double_
h2. Exemplu
0.1 0.1 0.5 0.5 | 2.650000 1.000000
|
| | 2 5 5 0.9 0.7123456 0.5 0.3 0.1 4 4 0.1 0.1 0.6 0.455652142 | 2.662346 1.543685 |
h3. Explicaţie
...
* *PRIMUL EXEMPLU NU RESPECTA CONDITIA LEGATA DE ULTIMA CIFRA*
== include(page="template/taskfooter" task_id="blindpunch") ==