Задача №114697. Футболки на олимпиаду

Наконец-то пришло время для финала Закрытой олимпиады школьников по программированию! Все отборы пройдены, сувенирные футболки лежат в пакетах. Вот только распределение участников по площадкам еще не спланировано.

У жюри олимпиады есть \(m\) площадок проведения. На \(i\)-й площадке лежит пакет, в котором находится \(a_i\) футболок. Это значит, что на эту площадку можно зарегистрировать не более \(a_i\) участников. Всего же среди финалистов будет \(n\) человек.

Финал Закрытой олимпиады школьников по программированию проходит в городе-герое Кленинграде. Как любой другой город Флатландии, он расположен в декартовой системе координат. Жюри знает адрес каждого финалиста — координаты \(X_i,\,Y_i\), а также адреса площадок — координаты \(x_i,\,y_i\).

Жюри хочет так распределить участников по точкам проведения, чтобы всем участникам хватило футболок, при этом максимальное из расстояний, которое придется пройти участнику до точки проведения, было как можно меньше. Поскольку жюри олимпиады сейчас везет на точки проведения другую сувенирку, Вас попросили провести распределение участников по площадкам.

Входные данные

В первой строке заданы два целых числа \(n\), \(m\) (\(1 \le n,\, m \le 500\)) — количество участников олимпиады и точек проведения.

В следующих \(n\) строках заданы пары целых чисел \(x_i,\,y_i\) (\(1 \le x_i,\,y_i \le 10^6\)) — координаты \(i\)-го участника олимпиады.

В следующих \(m\) строках заданы тройки целых положительных чисел \(X_i,\,Y_i,\,a_i\) (\(1 \le X_i,\,Y_i \le 10^6\), \(1 \le a_i \le n\)) — координаты \(i\)-й площадки и ее вместимость.

Гарантируется, что сумма \(a_i\) не меньше \(n\), а так же что она не превосходит \(1000\).

Выходные данные

Выведите одно число — максимальное расстояние, которое придется пройти участнику до точки проведения олимпиады при оптимальном распределении. Ответ будет считаться верным, если его абсолютная или относительная ошибка не будет превосходить \(10^{-6}\). Формально, пусть ваш ответ равен \(a\), а ответ жюри — \(b\). Ваш ответ считается правильным, если \(\frac{|a - b|}{\max(1, |b|)} \le 10^{-6}\).

Примечание

В первом примере надо отправить первого участника на первую площадку, а оставшихся двух — на вторую. Тогда первый участник пройдет расстояние 0, а второй и третий — по 1.

Во втором примере надо первого и второго участников отправить на площадку \(1\), а третьего — на площадку \(2\). Тогда первый участник пройдёт расстояние \(1.41421356237\), второй — \(0\), а третий — \(4.2426406871\).

Система оценки

Тесты к этой задаче состоят из девяти групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов некоторых из предыдущих групп. Обратите внимание, прохождение тестов из условия не требуется для некоторых групп. Offline-проверка означает, что результаты тестирования вашего решения на данной группе станут доступны только после окончания соревнования.

Дополнительные ограничения
Группа Баллы \(n\) \(m\) \(a_i\) Необх. группы Комментарий
0 0 Тесты из условия.
1 10 \(a_i = n\)
2 11 \(m \le 2\) 0
3 15 \(m \le 3\) 0, 2
4 14 \(n \le 10\) \(m \le 10\) 0
5 13 \(n \le 50\) \(m \le 50\) 0, 4
6 7 \(n \le 200\) \(m \le 200\) 0, 4, 5
7 9 \(n \le 300\) \(m \le 300\) 0, 4, 5, 6
8 10 \(n \le 400\) \(m \le 400\) 0, 4, 5, 6, 7 Offline-проверка.
9 11 0–8 Offline-проверка.
Примеры
Входные данные
3 2
1 1
2 3
3 2
1 1 1
2 2 2
Выходные данные
1.0000000000
Входные данные
3 2
100 100
101 101
102 102
101 101 2
105 105 2
Выходные данные
4.2426406871
Сдать: для сдачи задач необходимо войти в систему