На складе хранятся контейнеры в форме куба различного размера. Чтобы сократить занимаемое при хранении место, контейнеры вкладывают друг в друга. Один контейнер можно вложить в другой, если размер стороны внешнего контейнера превышает размер стороны внутреннего на 3 и более условных единиц. Группу вложенных друг в друга контейнеров называют блоком. Количество контейнеров в блоке может быть любым. Каждый блок, независимо от количества и размера входящих в него контейнеров, а также каждый одиночный контейнер, не входящий в блоки, занимает при хранении одну складскую ячейку.
Зная количество контейнеров и их размеры, определите минимальное количество ячеек для хранения всех контейнеров и максимально возможное количество контейнеров в одном блоке.
f = open(’26_9.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])>=3:
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))