Задание выполняется с использованием прилагаемых файлов
В магазине для упаковки подарков есть N кубических коробок. Самой интересной считается упаковка подарка по принципу матрёшки – подарок упаковывается в одну из коробок, та в свою очередь в другую коробку и т.д. Одну коробку можно поместить в другую, если длина её стороны хотя бы на единиц меньше длины стороны другой коробки. Определите наибольшее количество коробок, которое можно использовать для упаковки одного подарка, и максимально возможную длину стороны самой маленькой коробки, где будет находиться подарок. Размер подарка позволяет поместить его в самую маленькую коробку.
Входные данные
В первой строке входного файла находится число N – количество коробок в магазине (натуральное число, не превышающее ). В следующих N строках находятся значения длин сторон коробок (все числа натуральные, не превышающие
), каждое – в отдельной строке.
Запишите в ответе два целых числа: сначала наибольшее количество коробок, которое можно использовать для упаковки одного подарка, затем максимально возможную длину стороны самой маленькой коробки в таком наборе.
Пример организации данных во входном файле
Пример входного файла приведён для пяти коробок и случая, когда минимальная допустимая разница между длинами сторон коробок, подходящих для упаковки «матрёшкой», составляет единицы.
При таких исходных данных условию задачи удовлетворяют наборы коробок с длинами сторон ,
и
или
,
и
соответственно, т.е. количество коробок равно
, а длина стороны самой маленькой коробки равна
.
f = open(’26.txt’)
n = int(f.readline())
a = sorted([int(s) for s in f], reverse=True)
ans = 1
x = a[0]
minim = ’’
for i in range(1, len(a)):
if (x - a[i]) >= 5:
ans += 1
x = a[i]
print(ans, x)