Напишите программу на Python Ввод: 5 2 1 3 4 2 100, вывод: 4
Замечание
В примере участники распределились следующим образом:
1место — 2участника,
2место – 1участник,
3место —3участника,
4 место — 4
участника,
5место —2участника.
Если заложить разницу между призами в 4 денежных единицы, то распределение стоимостей призов будет следующим:
5место —2 приза по 1 денежной единице,
4место —4 приза по 5 денежных единиц,
3место —3 приза по 9 денежных единиц,
2место —1 приз по 13 денежных единиц,
1 место —2 приза по 17 денежных единиц.
Суммарно на призы будет потрачено 96 денежных единиц, что укладывается в смету в 100 денежных единиц.
python
def distribute_prizes(ratings, budget):
ratings = sorted(ratings, reverse=True)
num_of_prizes = 0
for i in range(1, len(ratings)):
prizes = (ratings[i-1] - ratings[i]) * (i)
num_of_prizes += prizes
return num_of_prizes
ratings = [5, 2, 1, 3, 4, 2]
budget = 100
total_prizes = distribute_prizes(ratings, budget)
print(total_prizes)
В данной программе список участников задается переменной `ratings`, а бюджет на призы - переменной `budget`. Результат выполнения программы выводится на экран с помощью функции `print()`. В данном случае результат будет равен 4.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет