Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
чередную посылку команде “Планетарной
экспресс-доставки” пришлось доставлять на планету Хичкок, сплошь
покрытую острыми скалами. Корабль приземлился на небольшом плато
немного в стороне от почтового ящика. Путь между кораблем и ящиком
пролегал по вершинам острых скал, и опасную миссию по доставке
посылки большинством голосов (Лила и Фрай – за, Бендер – против) поручили
Бендеру. Бендер должен допрыгать по вершинам скал до почтового ящика
и вернуться обратно. Так же, как и Фрай, Бендер всегда
стремится минимизировать свои усилия при выполнении любой работы, поэтому
требуется найти способ сделать это за минимальное количество прыжков. Бендер
может с большой точностью регулировать угол (направление) прыжка, но
механизм регулировки силы прыжка из-за проглоченных накануне часов Лилы
не работает. Таким образом, начальная скорость Бендера в момент прыжка
всегда постоянна и равна `V` м/с. Ускорение свободного падения на
планете Хичкок равно 10 м/с`^2`, а сопротивлением воздуха
можно пренебречь. Прыжок со скалы на скалу считается успешно выполненным,
только если траектория полета приводит Бендера точно на
вершину скалы, и он не сталкивается в полете с другими скалами,
иначе Бендер может разбиться или застрять между двумя скалами.
Напишите программу, которая рассчитает путь Бендера до ящика и обратно.
Во входном файле в первой строке содержатся два целых числа,
разделенных пробелом – количество скал `N` и скорость `V`
(`2\ ≤\ N\ ≤\ 1000`, `1\ ≤\ V\ ≤\ 100`). Далее следует `N` строк с
параметрами скал, по два целых числа в строке – расстояние от
скалы до корабля `X_i` в метрах и высота скалы `H_i` в метрах
(`0\ =\ X_1\ <\ X_2\ <\ …\ <\ X_N\ ≤\ 100000`, `10\ ≤\ H_i\ ≤\ 10000`, `1\ ≤\ i\ ≤\ N`).
Бендер находится на первой скале, а почтовый ящик на `N`-й.
В выходной файл в первой строке вывести минимальное количество
прыжков, необходимое для выполнения миссии, а во второй
строке – номера скал, на которые совершаются прыжки, разделенные
одним пробелом. Если существует несколько вариантов,
то вывести один (любой) из них. Если выполнение
миссии невозможно, то вывести в первой строке сообщение "MISSION IMPOSSIBLE" (без кавычек).
Пример ввода
6 30
0 100
10 80
40 120
55 90
70 110
95 100
Вывод для примера
4
3 6 5 1