bombe

Time limit: 0.6s Memory limit: 16MB Input: bombe.in Output: bombe.out

Ţara ta este în război, iar tu eşti şeful consiliului de apărare a ţării. Tocmai ai primit un mesaj îngrijorător: NN nave inamice au invadat spaţiul marin al ţării. Fiecare dintre cele NN nave se mişcă în linie dreaptă (mai exact de-a lungul axei Ox), cu viteză constantă.
Prin satelit ţi-a fost transmisă o hartă, pe care sunt marcate poziţiile navelor la momentul 00 (distanţa faţă de origine exprimată în metri). Ai observat că la momentul 00 toate navele se află în puncte de coordonate întregi.
Ai posibilitatea de a bombarda navele inamice utilizând un sistem special. Sistemul permite detonarea unor bombe, dar este posibilă doar detonarea tuturor bombelor exact în acelaşi timp. Când este detonată o bombă ea va distruge toate navele situate la o distanţă R\leq R metri (raza de acţiune a bombei).

Cerinţă

Misiunea ta este să detonezi un număr minim de bombe astfel încât să fie distruse toate navele. De asemenea, doreşti să detonezi acel număr minim de bombe în timpul cel mai scurt.

Date de intrare

Fişierul de intrare bombe.in conţine pe prima linie un număr natural NN, reprezentând numărul de nave, urmat de un număr real RR, reprezentând raza de acţiune a bombelor. Pe următoarele NN linii sunt descrise cele NN nave, câte o navă pe o linie. Pe o linie ce descrie o navă vor fi scrise două numere separate prin spaţiu x vx \ v, unde xx reprezintă un număr natural indicând poziţia navei la momentul 00, iar vv este un număr real indicând viteza (în ms\frac{m}{s}) cu care se deplasează nava. Dacă viteza este pozitivă, deplasarea navei se realizează în sensul axei Ox, iar dacă viteza este negativă, deplasarea navei se realizează în sensul invers al axei Ox.

Date de ieșire

Fişierul de ieşire bombe.out va conţine o singură linie pe care vor fi scrise două numere separate prin spaţiu nrmin tmint_{min}, unde nrminnr_{min} reprezintă numărul minim de bombe necesare pentru distrugerea tuturor navelor, iar tmint_{min} este timpul minim (exprimat în secunde) la care pot fi detonate cele nrminnr_{min} bombe pentru a distruge toate navele. Timpul va fi afişat cu 33 zecimale.

Restricții și precizări

  • 1N3001 \leq N \leq 300
  • 0<R50 < R \leq 5
  • x1 000 000x \leq 1 \ 000 \ 000, pentru orice 1iN1 \leq i \leq N
  • v100|v| \leq 100, pentru orice 1iN1 \leq i \leq N
  • Este posibil ca la un moment dat două nave să se afle în acelaşi punct, dar niciodată nu vor exista 33 nave în acelaşi punct.
  • Timpul minim afişat este considerat corect dacă diferă prin cel mult 0.010.01 de timpul minim corect.

Exemplu

bombe.in

6 0.25
2 0.5
3 -1
5 -1
5 0.333
8 0.5
10 -0.2

bombe.out

4 0.333

Log in or sign up to be able to send submissions!