Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача по программированию, подходящие языки на картинке

Lilit Khananushyan Ученик (89), открыт 2 недели назад
Петя и фонари
ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
Петя живет на проспекте, который является координатной прямой. Дом Пети находится в точке x , а его школа в точке y. Поскольку Петя живет на севере, то когда он идет в школу из дома, на улице еще темно. Зима длинная, солнца мало, поэтому в каждой точке проспекта, координата которой нацело делится на k, стоит фонарь. Например, если k=3, то фонари есть в точках −6,−3, 0,3,6 и так далее в обе стороны.

Каждый фонарь светит влево и вправо на l. Например, если фонарь стоит в точке 2, и l=4, то фонарь освещает участок прямой от −2 до 6.

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

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

Входные данные
В первой строке вводятся 4 целых числа x,y,k,l (−109≤x,y≤109, 1≤k,l≤109).

Выходные данные
В единственной строке выведите одно целое число — ответ на задачу.

Система оценки
Решения, верно работающие для −103≤x, y≤103, будут получать не менее 45 баллов.

Решения, верно работающие для положительных x,y, будут получать не менее 45 баллов.


Примечание
Одной из возможных оптимальных расстановок фонарей в тесте примера является −8,−4.5,−1,1.5,4,8.

Фонарь в точке −8 покрывает отрезок [−9,−7].
Фонарь в точке −6 покрывает [−7,−5].
Фонарь в точке −4.5 покрывает [−5.5,−3.5].
Фонарь в точке −3 покрывает [−4,−2].
Фонарь в точке −1 покрывает [−2,0].
Фонарь в точке 0 покрывает [−1,1].
Фонарь в точке 1.5 покрывает [0.5,2.5].
Фонарь в точке 3 покрывает [2,4].
Фонарь в точке 4 покрывает [3,5].
Фонарь в точке 6 покрывает [5,7].
Фонарь в точке 8 покрывает [7,9].
Фонарь в точке 9 покрывает [8,10].
Таким образом каждая точка отрезка [−8,10] покрыта хотя бы одним фонарем. Например точка −5.5 покрыта сразу двумя фонарями: в точках −6,−4.5.
1 ответ
Урою всех скуфов Мастер (1238) 2 недели назад
Твою ж мать, что это за чики пуки
Похожие вопросы