Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб | |
Максимальный балл: | 100 |
Шпион проник во вражескую организацию, получил доступ к Главному Компьютеру (ГК), вставил в него диск, и в момент времени t0 = 0 начал выкачивать Важные Данные (ВД). ВД выкачиваются со скоростью 1 ГБ/сек.
Одновременно с этим он заметил, как за дверью кабинета прошел патруль. Патруль появляется каждые T секунд и находится в зоне досягаемости в течение A секунд. В течение этого времени шпион не может покинуть Кабинет с ГК (КГК) незамеченным. В случае, когда шпион покидает кабинет одновременно с началом или концом патруля (шпион покидает КГК моментально), он остается незамеченным.
Задача шпиона состоит в том, чтобы загрузить максимальное количество ВД, безопасно извлечь накопитель из ГК и покинуть КГК незамеченным. При этом необходимо покинуть КГК раньше, чем его посетит большой патруль, который появится в момент времени B. Безопасное извлечение накопителя занимает D секунд. В это время ВД не загружаются, а шпион может быть замечен патрулём, поэтому эту операцию нужно производить, когда патруля нет поблизости.
Ваша задача состоит в том, чтобы вычислить, какое максимальное количество ГБ ВД может получить шпион, или определить, что миссия невыполнима.
Входные данные содержат 4 целых числа T, A, B, D, каждое в отдельной строке.
Ответ должен содержать одно целое число: максимальное количество Важных Данных, в ГБ. В случае, если миссия невыполнима, необходимо вывести -1.
1 ≤ A, B, D, T ≤ 104
A < T
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | В. Глушков, Д. Глушкова, И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
В Берляндии в обиходе монеты достоинством 1, 2, 3, 4, 5 и 6 бурлей, толщина всех монет одинаковая. У Васи есть неограниченное количество монет каждого достоинства. Вася и Петя играют в следующую игру: Петя загадывает сумму S, которую необходимо набрать, и сообщает Васе число N -- количество монет, которые Вася может использовать. После этого Вася должен подобрать такие N монет, чтобы их сумма равнялась ровно S бурлям. Далее все N монет раскладываются в 6 стопок по номиналам.
Петя решил усложнить игру и предложил Васе найти среди всех возможных вариантов такой, что высота самой высокой стопки монет будет максимальной. Толщина всех монет одинаковая, а значит на высоту стопки влияет только количество монет. С усложнённой версией игры у Васи возникли трудности, и он просит вас решить поставленную задачу.
Данная задача будет проверяться на ОДНОМ входном файле, содержащем все тесты. Этот файл можно скачать ЗДЕСЬ.
В качестве решения принимается как программа, так и текстовый файл, содержащий ответ к задаче в требуемом формате (при его отправке следует выбрать в тестирующей системе среду разработки "Answer text").
Баллы будут начисляться пропорционально количеству правильных ответов в выходном файле. Решение будет полностью проверяться сразу после отправки, и участникам будут видны набранные за данную задачу баллы.
Первая строка входного файла содержит целое число M~--- количество пар "сумма-количество". Последующие M строк содержат по 2 целых числа -- S, N -- сумма и заданное количество монет.
Выходной файл должен содержать M строк по 6 цифр ~--- количество монет в каждой стопке.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | В. Глушков, И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Девочка Саша устроилась волонтёром в благотворительный фонд Илона Маска, который занимается посадкой деревьев.
Каждый месяц фонд получает M денежных средств, которые тратит на посадку и заботу об уже посаженных деревьях. Все не потраченные деньги изымаются в конце месяца. В самом начале посадка дерева стоит K денег, но из-за кризиса стоимость растёт на P каждый месяц. Обслуживание каждого посаженного дерева стоит L денег в месяц, при этом стоимость обслуживания уменьшается ежемесячно после первого на R, пока не достигнет нуля. В первый раз дерево обслуживается на следующий месяц после посадки, т.е. стоимость обслуживания дерева в первый месяц L, во второй L−R, потом L−2∗R и так далее. Стоимость обслуживания дерева зависит от времени, когда оно было посажено.
Цель фонда —- посадить (но не обязательно вырастить) T деревьев. Это означает, что допустимо в последний месяц высадить столько деревьев, что денег в следующий месяц не хватит на обслуживание деревьев, но до момента, пока все деревья не высажены, нельзя тратить больше, чем M денег в месяц. Саше поручили написать программу, которая рассчитает минимальное количество месяцев, которое понадобится для достижения цели. Саша попросила вас помочь ей с этим.
Входные данные содержат число M -- ежемесячное количество выделяемых денежных средств, K -- стоимость посадки дерева, P -- на сколько увеличится стоимость посадки, L -- стоимость обслуживания дерева, R -- на сколько уменьшится стоимость обслуживания, T -- требуемое количество деревьев.
Выходные данные должны содержать одно целое число: минимальное количество месяцев, которое требуется для посадки T деревьев. В случае, если высадить деревья невозможно выведите −1.
1 ≤ M, T, L, K ≤ 104
1 ≤ P, R ≤ 102
Баллы начисляются пропорционально количеству пройденных тестов. Каждый тест оценивается в 4 балла.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Перевозка пассажиров происходит по следующему алгоритму: автобус приходит на вокзал и ожидает пассажиров, пока они не займут все M мест. Новый автобус приходит на вокзал каждые d минут, первый автобус приезжает в момент времени 0. Время ожидания пассажира ~--- это время, пока он стоит на остановке (если автобус стоит на остановке, а пассажир находится в нём, это не считается за ожидание).
Перевозчику пришли новые требования к перевозке пассажиров: теперь суммарное время ожидания для всех пассажиров не должно превышать T минут.
Вам точно известно количество пассажиров N, и для каждого из них момент времени ti, когда пассажир приходит на вокзал. Перевозчик считает, что увеличение интервала между автобусами позволит уменьшить необходимое количество автобусов. Поэтому вам требуется выбрать максимально большой интервал между автобусами так, чтобы суммарное время ожидания для всех пассажиров не превышало T минут.
Первая строка входного файла содержит три целых числа N, M и T. Следующая строка содержит N целых чисел ti. Гарантируется, что первый автобус не может забрать всех пассажиров.
Выходной файл должен содержать одно целое число ~--- максимальный возможный интервал.
0 ≤ N, M ≤ 106; 1 ≤ ti ≤ 106; 1 ≤ T ≤ 109
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | |||
---|---|---|---|---|---|
N | M | ti | T | ||
1 | 50 | 1 ≤ N ≤ 103 | 1 ≤ M ≤ 103 | 1 ≤ ti ≤ 103 | 1 ≤ T ≤ 103 |
1 | 50 | 1 ≤ N ≤ 106 | 1 ≤ M ≤ 106 | 1 ≤ ti ≤ 106 | 1 ≤ T ≤ 109 |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|