Top.Mail.Ru
Ответы
Аватар пользователя
5лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Задача по информатике, помогите с кодом плз

Вася коллекционирует спичечные этикетки. Для этого у него есть N альбомов вместимостью K1, K2, …, KN этикеток. Вася хочет, чтобы в случае утери одного любого альбома каждая этикетка осталась у него хотя бы в одном экземпляре. Для этого он покупает каждую этикетку в двух экземплярах, и наклеивает их в два разных альбома. Какое максимальное количество различных этикеток при этом может оказаться в его коллекции?

Входные данные
Входной файл содержит сначала число N — количество альбомов, а затем N чисел K1, K2, …, KN, задающих вместимости альбомов. N — натуральное число из диапазона от 2 до 1000. Вместимость каждого альбома задается натуральным числом, суммарная вместимость всех альбомов не превышает 100000 этикеток.

Выходные данные
В выходной файл выведите сначала число E — максимальное количество различных этикеток, которое может собрать Вася с соблюдением выдвинутого условия. Затем выведите E пар чисел — каждая пара чисел задает номера двух альбомов, куда будет вклеена очередная этикетка.
Пример:
входные данные
4
1 2 1 1
выходные данные
2
1 2
2 3
Ограничение по времени 2 секунды.
Помогите с решением на питоне, 3-ий день туплю.

По дате
По рейтингу
Аватар пользователя
Просветленный
5лет

n = int(input())
lst = [int(i) for i in input().split()]
s, kMax = sum(lst), max(lst)
print(min(s // 2, s - kMax))