== include(page="template/taskheader" task_id="nuke") ==
Poveste şi cerinţă...
Teritoriul Metalopolis poate fi văzut ca un plan cartezian. În acest teritoriu, Zeratul a reuşit să infiltreze $N$ soldaţi invizibili cu misiunea de a învinge forţele inamicului său, Jim Raynor. Soldaţii pot fi consideraţi puncte de coordonate $(XS, YS)$ întregi. Pentru a se apăra, Jim Raynor lansează $M$ bombe nucleare. Bomba $i$ elimină toţi soldaţii aflaţi la o distanţă mai mică sau egală cu $R{~i~}$ de punctul $(XB{~i~} , YB{~i~})$ în care a explodat. Pentru a maximiza eficienţa atacului, Raynor are grijă ca nicio zonă din Metalopolis să nu fie afectată decât de cel mult o bombă nucleară. Pentru fiecare bombă $i$ Zeratul doreşte să ştie câţi soldaţi a pierdut.
Având la dispoziţie coordonatele celor $N$ soldaţi, coordonatele şi razele de acţiune ale celor $M$ bombe, aflaţi pentru fiecare bombă câţi soldaţi elimină.
h2. Date de intrare
Fişierul de intrare $nuke.in$ ...
Pe prima linie a fişierului nuke.in se dau două numere naturale $N$ şi $M$ cu semnificaţia din enunţ. Urmatoarele $N$ linii conţin fiecare câte două numere întregi $XS{~i~}$ , $YS{~i~}$ reprezentând coordonatele soldaţilor. Următoarele M linii conţin câte trei numere întregi $XB{~i~}$ , $YB{~i~}$ , $R{~i~}$ reprezentând coordonatele şi raza fiecărei bombe.
h2. Date de ieşire
În fişierul de ieşire $nuke.out$ ...
În fişierul de ieşire nuke.out veţi afişa $M$ linii, pe fiecare linie $i$ aflându-se câte un singur număr natural reprezentând numărul de soldaţi eliminaţi de bomba $i$. Bombele se consideră în ordinea în care apar în fişierul de intrare.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 200.000$
* $1 ≤ M ≤ 100.000$
* $1 ≤ R{~i~} ≤ 1.000.000.000$
* $-1.000.000.000 ≤ XB{~i~} , YB{~i~} , XS{~i~} , YS{~i~} ≤ 1.000.000.000$
* Un soldat aflat la o distanţă egală cu $R{~i~}$ de bomba $i$ va fi eliminat
* Suprafeţele de acţiune ale oricăror două bombe nu au niciun punct în comun.
h2. Exemplu
table(example). |_. nuke.in |_. nuke.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 7 3
4 5
0 5
-1 6
5 1
-1 -2
-3 6
1 4
5 4 3
1 1 1
-1 6 2
| 2
0
3
|
h3. Explicaţie
...
Prima bombă elimină soldaţii $(4, 5)$, $(5, 1)$.
A doua bombă nu elimină niciun soldat.
A treia bombă elimină soldaţii $(0, 5)$, $(-1, 6)$ şi $(-3, 6)$.
== include(page="template/taskfooter" task_id="nuke") ==