Cerință
Pe mare se află vapoare. Malul este în mod curios perfect drept şi este reprezentat prin axa Ox a sistemului de coordonate. Cele N vapoare sunt reprezentate prin perechi de coordonate , unde este strict pozitiv (marea este deasupra axei Ox). Pe mal se află faruri, date prin coordonatele lor (fiind exact la limita dintre mare şi uscat, -ul lor este întotdeauna ). Cele faruri sunt ciudate pentru că ele nu pot lumina decât în stânga. Astfel aria luminată de fiecare far este delimitată de un sfert de cerc cu o rază . Mai exact, un vapor este luminat de un anumit far dacă se află în stânga farului (are -ul mai mic) şi distanţa de la far la vapor este mai mică sau egală cu valoarea asociată farului respectiv.
Pentru fiecare far se mai dă şi un număr natural strict pozitiv . Din motive greu de înţeles, şeful portului doreşte ca fiecare far să lumineze cel puţin vapoare (un vapor poate fi luminat de mai multe faruri). El doreşte consum minim de energie şi vrea să afle pentru fiecare far raza minimă necesară pentru a lumina numărul cerut de vapoare.
Determinaţi pentru fiecare far valoarea care reprezintă raza minimă necesară pentru ca farul să lumineze cel puţin vapoare.
Date de intrare
Prima linie a fişierului sea.in
conţine două numere întregi şi separate printr-un spaţiu, reprezentând numărul de vapoare, respectiv numărul de faruri. Fiecare dintre următoarele linii conţine câte o pereche de numere reale separate printr-un spaţiu şi (coordonatele vapoarelor). Fiecare dintre următoarele linii conţine câte o pereche de numere separate printr-un spaţiu, unul real şi unul întreg (coordonatele orizontale şi numerele asociate farurilor).
Date de ieșire
Fişierul sea.out
va conţine linii, fiecare linie conţinând un număr real, dat cu zecimale: pe linia se află raza minimă necesară pentru ca farul să lumineze vapoare.
Restricții și precizări
- În fişierul de intrare farurile sunt sortate crescător după coordonatele .
- Nu vor exista două vapoare, sau un far şi un vapor cu acelaşi . În schimb pot exista două sau mai multe faruri cu acelaşi , caz în care ele vor fi unul lângă altul în fişierul de intrare (evident din moment ce sunt sortate după ). Ordinea în care apar în fişierul de intrare farurile cu acelaşi nu este definită. Pot exista chiar două faruri identice.
- Numerele reale din fişierul de intrare vor avea maxim zecimale
- Rezultatul va fi verificat cu o precizie de (rezultatul va fi considerat corect dacă modulul diferenţei dintre rezultatul corect şi cel furnizat de concurent nu depăşeşte )
- Există întotdeauna soluţie (pentru fiecare far vor exista întotdeauna cel puţin vapoare în stânga lui).
Exemplu
sea.in
3 5
-0.5 0.5
-2 5
3 4
-1 1
0 1
0 2
0 1
5 1
sea.out
5.0990
0.7071
5.3852
0.7071
4.4721