Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Прошу решить задачу на Python.Заранее спасибо

Сева Популовских Ученик (93), открыт 1 неделю назад
Недавно были анонсированы уникальные командные соревнования по олимпиадному программированию. Уникальность их состоит в числе участников одной команды - их должно быть ровно k . В связи с этим у университета города X возникла необходимость подготовки команды для участия в новом виде соревнований.
Конечно же, сразу появились сборы по подготовке к новому виду контестов. Всего есть n сборов, на i -е сборы университет X может отправить не более a i участников. Сила участника определяется как число сборов, которые он посетил. Сила команды определяется как минимум из сил всех её участников.
Помогите университету X и скажите, какую максимальную силу команды возможно достичь.
Выведите одно целое число — максимально возможную силу команды.
Пример 1
Входные данные

3 4
1 1 1
Выходные данные

0
Пример 2
Входные данные

3 2
2 1 3
Выходные данные

2
1 ответ
GGG Просветленный (37450) 1 неделю назад
 def max_team_strength(n, k, a): 
"""
Находит максимальную возможную силу команды.

Args:
n: Количество сборов.
k: Размер команды.
a: Список максимального количества участников на каждом сборе.

Returns:
Максимальная возможная сила команды.
"""

for strength in range(n, -1, -1): # Перебираем силу от n до 0
total_participants = 0
for i in range(strength, n): # Считаем участников, посетивших не менее strength сборов
total_participants += a[i]
if total_participants >= k: # Если можно собрать команду с такой силой
return strength

return 0 # Если не получилось собрать команду с силой больше 0

# Считываем ввод
n, k = map(int, input().split())
a = list(map(int, input().split()))

# Выводим результат
print(max_team_strength(n, k, a))
Похожие вопросы