На складе хранятся кубические контейнеры различного размера. Чтобы сократить занимаемое при хранении место, контейнеры вкладывают друг в друга. Один контейнер можно вложить в другой, если размер стороны внешнего контейнера превышает размер стороны внутреннего
Зная количество контейнеров и их размеры, определите минимальное количество ячеек для хранения всех контейнеров и максимально возможное количество контейнеров в одном блоке.
Входные данные.
Первая строка входного файла содержит целое число N — общее количество контейнеров. Каждая из следующих
В ответе запишите два целых числа: сначала минимальное количество ячеек для хранения всех контейнеров, затем максимально возможное количество контейнеров в одном блоке.
Ответ:
Приведём решение на языке Python.
f = open('26.txt')
n = f.readline()
cubes = sorted([int(i) for i in f], reverse=True)
cklad=[]
while len(cubes)>0:
block = [cubes.pop(0)]
for i in range(len(cubes)):
if (block[-1]-cubes[i])>=7:
block.append(cubes[i])
cubes[i]=''
cubes=[x for x in cubes if x!='']
cklad.append(block)
print(len(cklad),max(len(c) for c in cklad))
Ответ: 23 и 1306.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.

