Loading [MathJax]/jax/output/SVG/jax.js

4-й этап Республиканской олимпиады по информатике 2022-2023, 1-й тур


Задача A. Колючие ежи

Ограничение по времени:
2 секунды
Ограничение по памяти:
256 мегабайт

На целочисленной прямой расположено n ежей, каждый еж имеет свою координату - xi и может передвигаться по прямой как он пожелает. Но к сожалению ежам нельзя далеко уходить, поэтому при передвижении их координата должна быть целым числом между 1 и n. Более того у каждого ежа есть своя скорость передвижения, а именно ежу под i-м номером требуется ti секунд для перехода на соседнюю точку. Ежи очень колючие существа, поэтому еж не доволен когда в одной точке с ним находится другой еж. Какое минимальное время потребуется ежам, чтобы они все стали довольными.
Формат входного файла
В первой строке дано одно натуральное число n (1<=n<=105) — количество ежей. Далее следуют n строк, в i строке дано два числа xi (1<=xi<=n) и ti (0<=ti<=109) — местоположение i-го ежа и время требуемое для передвижения на соседнюю точку i-го ежа.
Формат выходного файла
Выведите одно число — минимальное время для того чтобы все ежи стали довольными.
Примеры:
Вход
3
2 1
2 2
2 3
Ответ
2
Вход
6
4 1
4 7
1 9
3 0
5 11
2 14
Ответ
1
Замечание
В первом примере первый еж пойдет в точку с номером 1(на это уйдет 1 секунда), второй пойдет в точку с номером 3(на это уйдет 2 секунды), а третий остается в точке с номером 2. Во втором примере, первый еж идет в точку номер 3(на это уйдет 1 секунда), четвертый еж идет в точку номер 6(0 секунд), а остальные ежи остаются на месте. ( Altair Ashurov )
посмотреть в олимпиаде

Комментарий/решение:

  1
1 года 4 месяца назад #

Бинарный поиск по ответу. В чекере представляем каждого ежа как отрезок (те элементы куда он может перейти, не превысив время), после чего проверяем можно ли каждому элементу от 1 до n сопоставить отрезок, который содержит его. Для этого жадно выбираем отрезок с наименьшей правой частью, который содержит наш элемент.

показать/скрыть код

C++