== include(page="template/taskheader" task_id="hektor") ==
Poveste şi cerinţă...
**Elful**:"Ba, Patrick, de ce ai numit problema asta asa?"
**Patrick**:"Am numit-o dupa autorul cartii "Singur pe Lume""
**Elful**:"Te-a tampit de tot BAC-ul asta...pai si cum fac enuntul la ea?"
**Patrick**:"Pai Hektor se simtea singur pe lume asa ca....s-a gandit sa se simta singur pe lume pe un graf orientat aciclic, cu costuri pe cele $N$ noduri ale sale...."
**Elful**:"Asa, si ? ce faci mai departe ?"
**Patrick**:"Pai acum pleaca dintr-un nod A catre un nod B, alegand cu **probabilitate uniforma** atunci cand este intr-un nod X, o muchie care conduce spre cel putin un drum spre nodul B....si ideea e ca am vrea sa vedem cu ce cost mediu poate ajunge in nodul B!"
**Elful**:"Macar daca e singur, bani sa aibe!"
h2. Date de intrare
Fişierul de intrare $hektor.in$ ...
În fişierul de intrare $hektor.in$ se vor gasi pe prima linie 4 numere intregi : N (numarul de noduri ale grafului), M (numarul de muchii ale grafului), A(nodul in care Hektor se afla initial), B(nodul in care Hektor trebuie sa ajunga). Urmatoarea linie va contine N intregi, cel de-al i-lea reprezentand costul nodului i.
Urmatoarele M linii vor contine cate 2 numere x si y, cu semnificatia ca exista muchie **orientata** de la nodul x, la nodul y.
h2. Date de ieşire
În fişierul de ieşire $hektor.out$ ...
În fişierul de ieşire $hektor.out$ se va gasi un numar real, reprezentand costul mediu ca Hektor sa ajunga din nodul A in nodul B.
h2. Restricţii
* $... ≤ ... ≤ ...$
** se recomanda afisarea cu 7 zecimale **
* N <= 10^5
* Costurile nodurilor sunt numere intregi, pe 32 de biti.
* Raspunsul se incadreaza pe tipul double, si este considerat corect daca |raspuns_comisie-raspuns_participant| <= 0.000001
h2. Exemplu
table(example). |_. hektor.in |_. hektor.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 2 1 1 2
1 1
1 2
| 2.00000
|
h3. Explicaţie
...
Oricat de uniforma ar fi probabilitatea, avem o singura varianta de a ajunge din nodul A=1 in nodul B=2, si anume mergand pe muchia 1->2.
== include(page="template/taskfooter" task_id="hektor") ==