Задача D. Мембрана
Задачу добавил: alef
Успешно сдано решений: 0
Высокий и блондин шли по зданию быстрым шагом, Кеша едва успевал за ними.
— Ну вот, сейчас посмотришь, чем Виктор занимается. Он тоже программист, – блондин подвел Кешу к монитору. На экране медленно перемещались и поворачивались фигурки, хорошо знакомые каждому, кто играл в «Тетрис».
— Оригинальная заставка, – сказал Кеша.
— Это не заставка. Это робот мембрану собирает. А Виктору программу для него надо написать. Чтобы лучше собирал. Оптимальным образом. И быстро. Вот кстати, программист, – блондин потянул Кешу за рукав, – может, напишешь? Посмотрим, что ты умеешь.
— Нет, для начала задачка попроще. У робота уже есть программа, которая позволяет ему выбирать оптимальное решение для каждого шага. И надо понять, что получается в результате его работы.
Мембрана, которую собирает робот, должна иметь размеры N клеток в длину и M клеток в ширину. Существует 5 типов деталей (см. рис.). Робот последовательно берет детали, которых всего D штук; его задача – уложить их так, чтобы во внутренней части мембраны не было пустых клеток. Можно считать, что эти D деталей расположены друг за другом и образуют очередь.
Рис. 1 |
Конечно, вполне может произойти, что какие-то детали в принципе не будут уложены. Робот прекращает укладывать детали либо когда очередь опустеет, либо, когда в результате очередного прохода по всей очереди ни одна из деталей не была помещена на заготовку.
Ваша задача – определить, сколько и каких деталей не удастся разместить на заготовке мембраны.
Примечание. Деталь должна всегда помещаться на заготовку мембраны целиком.
Формат входного файла input.txt
Первая строка – целые числа N (3<=N<=200), M (3<=M<=10), D (1<=D<=100) через пробел. N – длина заготовки мембраны в клетках в длину, M – длина заготовки мембраны в клетках в ширину, D – количество деталей в очереди.
Вторая строка – D целых чисел от 1 до 5 через пробел – очередь деталей с указанием их типов.
Формат выходного файла output.txt
Первая строка – пять целых чисел через пробел. Первое число – количество деталей типа 1, которые не были помещены на заготовку. Второе число – количество деталей типа 2, которые не были помещены на заготовку. Третье, четвертое и пятое числа – количества деталей типов 3, 4 и 5 соответственно, которые не были помещены на заготовку.
Пример входного файла
6 7 4
1 3 5 2
Пример выходного файла
0 0 1 0 1