Задача

1/11

_St-22_10-ege-26(a)

Теория

#z26 Статград октябрь 2022 года
f=open('26.txt') # открытие файла с данными
N=int(f.readline()) # начальное кол-во контейнеров
print(N) # отладочная печать
eps=5 # необходимый зазор
BB=[] # список размеров контейнеров
for _ in range(N): # чтение списка
    x=int(f.readline()) 
    BB.append(x)
BB.sort() # сортировка по возрастанию (отбор будем проводить с "хвоста")
rez=[] # для хранения результатов (можно без списка)
while BB : # пока стек не пуст
    p=BB.pop() # вытащили "верхний" (самый большой)
    k=1 # открыли счёт
    AA=[] # новый стек для откладывания
    while BB : # перебор стека 
        x=BB.pop() # вытащили "верхний"
        if p-x<eps : AA.append(x) # "плохой" размер -> отложили в AA
        else: # подходит
            k+=1 # маркируем
            p=x # меняем размер пустого
    BB=AA[::-1] # переворачиваем стек
    rez.append(k) # добавляем результат
print(len(rez),max(rez)) # печать ИТОГОВ
        

 

Задача

На складе хранятся кубические контейнеры различного размера. Чтобы сократить занимаемое при хранении место, контейнеры вкладывают друг в друга. Один контейнер можно вложить в другой, если размер стороны внешнего контейнера превышает размер стороны внутреннего на 5 и более условных единиц. Группу вложенных друг в друга контейнеров называют блоком.
Количество контейнеров в блоке может быть любым. Каждый блок, независимо от количества и размера входящих в него контейнеров, а также каждый одиночный контейнер, не входящий в блоки, занимает при хранении одну складскую ячейку.
Зная количество контейнеров и их размеры, определите минимальное количество ячеек для хранения всех контейнеров и максимально возможное количество контейнеров в одном блоке.
Входные данные
Первая строка входного файла содержит целое число N – общее количество контейнеров.
Каждая из следующих N строк содержит натуральное число, не превышающее 10 000, – размер контейнера в условных единицах.
В ответе, через пробел, запишите два целых числа:
сначала минимальное количество ячеек для хранения всех контейнеров, затем максимально возможное количество контейнеров в одном блоке.
В ответе, через пробел, запишите два целых числа :
сначала - минимальное количество ячеек для хранения всех контейнеров, затем 
максимально возможное количество контейнеров в одном блоке,


 
 

Выберите правильный ответ, либо введите его в поле ввода

Комментарий учителя