printРабочее место участника

printЗадачи

662. Монумент

Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Известный скульптор решил создать монумент под названием "Мост между Востоком и Западом". "Мост" он решил выложить из блоков, оставшихся после разборки Берлинской стены, а по краям "моста" постановить 20-метровые аллегорические фигуры Востока и Запада. "Мост" должен выглядеть как лестница, сначала растущая от уровня земли на 1 фут от ступеньки к ступеньке, затем убывающая таким же образом. Каждая ступенька представляет собой штабель (параллелепипед) из положенных друг на друга блоков гранями с одинаковыми размерами. Соседние ступеньки должны иметь разную высоту. Разные ступеньки могут иметь разную ширину и длину, так как блоки можно ставить друг на друга тремя способами.
Чтобы "мост" не терялся на фоне гигантских скульптур, его высота должна быть как можно больше, а среди вариантов с одинаковой максимальной высотой предпочтительней вариант с большей длиной.
Напишите программу, которая вычислит максимальную высоту и длину "моста" по количеству имеющихся в наличии блоков и их размерам. После строительства "моста" может остаться несколько лишних блоков.
Ввод содержит три целых числа `N` (`1\ ≤\ N\ ≤\ 5000`), `W` (`1\ ≤\ W\ ≤\ 50`), `H` (`1\ ≤\ H\ ≤\ 50`) – количество имеющихся в наличии блоков, ширина и длина блока в футах (толщина блока равна 1 футу).
Вывести два целых числа – максимальную высоту моста и его длину.

Пример ввода

5 10 20

Вывод для примера

2 60
loading