Nu aveti permisiuni pentru a descarca fisierul grader_test9.in
Diferente pentru problema/blindpunch intre reviziile #26 si #9
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="blindpunch") ==
Î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 (eventualpoţi aruncamai 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încarenu este strivit are tot probabilitatea $P{~i~}$ săfie strivit dinurmătoarea aruncare).
In mijlocul noptii ai fost atacat de gandaci. Gandacii, foarte ordonati formeaza un sir in fata ta. Pentru a te apara, ai $K$ papuci pe care ii poti arunca pe cate un gandac (eventual mai multi papuci pe acelasi gandac). Gandacii, foarte creativi, se prefac toti ca sunt morti pentru a te induce in eroare (fiind intuneric poti sa vezi gandacii dar nu poti sa distingi daca sunt striviti sau nu). Din fericire, stii pentru fiecare gandac $i$ care este probabilitatea $P~i~$ ca acesta sa fie strivit printr-o aruncare de papuc (si in caz ca nu este strivit are tot probabilitatea $P~i~$ sa fie strivit din a doua aruncare etc).
Cum eşti foarte obositşi urăşti mai mult decât orice altcevasă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.
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.
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.
h2. Cerinta
Cum estifoarteobositsi urastimaimultdecat orice altcvsaseplimbegandaci injurultauintimpul noptii,vreidincele$K$ loviturisa omori catmai multigandaci.
Dandu-se $T$ astfel de scenarii, si pentru fiecare numarul $N$ de gandaci, si sirul $P$, unde al $i$-lea element reprezinta probabilitatea de-a strivi al $i$-lea gandac dintr-o lovitura, calculeaza expectedul de cati gandaci poti strivi daca arunci in mod optim papucii.
h2. Date de intrare
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$.
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$.
h2. Date de ieşire
Î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]$.
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$).
h2. Restricţii
* <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_
* $1 ≤ N, K, T ≤ 10^6^$ * $0 ≤ P~i~ ≤ 1$ * Pentru teste in valoare de $40$ de puncte, se garanteaza ca $1 ≤ N, K, T ≤ 500$. * Pentru alte teste in valoare de $40$ de puncte, se garanteaza ca $1 ≤ N, K, T ≤ 5000$. 40p O(NK^2) 80p O(NK) 100p O((N+K)logN)
h2. Exemplu table(example). |_. blindpunch.in |_. blindpunch.out |
| 2 5 5 0.9 0.7 0.5 0.3 0.1 4 2 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 |
| This is some text written on multiple lines. | This is another text written on multiple lines. |
h3. Explicaţie
* *PRIMUL EXEMPLU NU RESPECTA CONDITIA LEGATA DE ULTIMA CIFRA*
...
== include(page="template/taskfooter" task_id="blindpunch") ==