Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | centru.in, centru.out | Sursă | Lot Alba 2007 |
Autor | Adrian Vladu | Adăugată de | |
Timp execuţie pe test | 0.125 sec | Limită de memorie | 36864 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Centru
Să umbli prin cartier după un meci de fotbal este periculos şi de aceea în diverse puncte ale acestuia s-au înfiinţat centre de prim-ajutor. Cartierul poate fi considerat ca fiind un caroiaj de dimensiune NxN, nodurile caroiajului fiind puncte având coordonatele (abscisă, ordonată) din mulţimea {0, 1, ..., N-1}.
În K noduri ale caroiajului s-au înfiinţat centre de prim-ajutor. Când eşti rănit în urma unei bătăi cu suporterii echipelor adverse (bătăile au loc de asemenea numai în nodurile caroiajului) nu ai decât să te duci la cel mai apropiat centru de prim-ajutor, unde vei primi îngrijiri medicale.
În urma conflictelor recente s-a decis înfiinţarea unui nou centru de prim-ajutor. Acesta trebuie să fie plasat astfel încât să se minimizeze distanţa până la cel mai apropiat centru în cazul cel mai defavorabil. Altfel spus, maximul dintre distanţele de la un nod oarecare al caroiajului până la cel mai apropiat centru de prim-ajutor să fie minim.
Cerinta
Scrieţi un program care să determine distanţa maximă de la un nod al caroiajului la cel mai apropiat centru de prim-ajutor, după înfiinţarea noului centru.
Date de intrare
Fişierul de intrare centru.in conţine pe prima linie două numere naturale separate prin spaţiu N şi K, cu semnificaţia din enunţ. Pe fiecare dintre următoarele K linii se află câte două numere naturale cuprinse între 0 şi N-1, separate prin spaţiu, reprezentând abscisa, respectiv ordonata câte unui centru de prim-ajutor.
Date de iesire
Fişierul de ieşire centru.out va conţine pe prima linie un singur număr natural reprezentând distanţa maximă de la un nod al caroiajului la cel mai apropiat centru de prim-ajutor, după înfiinţarea noului centru.
Restrictii
- 1 ≤ N ≤ 1000
- 1 ≤ K < N*N
- Se consideră că distanţa dintre două noduri ale caroiajului (x1, y1) şi (x2, y2) este distanţa Manhattan |x1-x2| + |y1-y2|
Exemplu
centru.in | centru.out |
---|---|
7 5 0 1 1 4 3 6 5 0 5 5 | 3 |
Explicatie
Noul centru se poate înfiinţa în nodul de coordonate (3, 3). Orice altă soluţie nu micşorează distanţa maximă până la cel mai apropiat centru de prim-ajutor în cazul cel mai defavorabil.