Нужно передать водителю сумму, не меньшую суммарной стоимости всех пассажиров, передавших деньги. Очевидно, чтобы купюр было как можно меньше, сами купюры должны иметь как можно больший номинал. Кроме того, тем, кто передал 10 рублей, сдачу давать не нужно, передавшему 50 рублей – сдачей можно вернуть не более четырех десятирублевок, передавшему 100 рублей – не больше четырех 10-рублевой и 50-рублевку или не более девяти 10-рублевок.
Например, подойдет такое решение: считываем n10, n50 и n100 – количество 10-рублевок, 50-рублевок и 100-рублевок. Отдаем по четыре 10-рублевки каждому, заплатившему 50 рублей, потом тем, кто отдал 100 рублей. Оставшиеся 10-рублевки по 5 штук отдаем на сдачу со 100 рублей (таких людей k), и если кто-то остался без сдачи, пытаемся вручить им по 50 рублей.
В бутылке минеральная вода. Сейчас стакан не стоит между чаем и молоком. Поставить стакан между бутылкой с минеральной водой и кружкой нельзя, так как тогда он будет стоять между минеральной водой, а должен стоять рядом с чаем и молоком. Значит, стакан можно поставить между кружкой и чашкой. Стакан оказывается в середине, значит, в нем кофе. Молоко не может быть в кружке, так как по соседству с молоком будет кофе и минеральная вода, а рядом с молоком должен быть квас. Значит, молоко в чашке. Так как по соседству с молоком должен быть квас, то в кувшине квас. ответ: в бутылке минеральная вода, в кружке чай, в чашке молоко, в стакане кофе, в кувшине квас.
Нужно передать водителю сумму, не меньшую суммарной стоимости всех пассажиров, передавших деньги. Очевидно, чтобы купюр было как можно меньше, сами купюры должны иметь как можно больший номинал. Кроме того, тем, кто передал 10 рублей, сдачу давать не нужно, передавшему 50 рублей – сдачей можно вернуть не более четырех десятирублевок, передавшему 100 рублей – не больше четырех 10-рублевой и 50-рублевку или не более девяти 10-рублевок.
Например, подойдет такое решение: считываем n10, n50 и n100 – количество 10-рублевок, 50-рублевок и 100-рублевок. Отдаем по четыре 10-рублевки каждому, заплатившему 50 рублей, потом тем, кто отдал 100 рублей. Оставшиеся 10-рублевки по 5 штук отдаем на сдачу со 100 рублей (таких людей k), и если кто-то остался без сдачи, пытаемся вручить им по 50 рублей.
Реализация (python 3):
n10, n50, n100 = map(int, input().split())
n10 = max(n10 - 4 * (n50 + n100), 0)
k = min((n10 + 4) // 5, n100)
n10 = max(n10 - 5 * k, 0)
n50 = max(n50 - (n100 - k), 0)
print(n10 + n50 + n100)
Пример ввода:
7 2 1
Пример вывода:
2
ответ: в бутылке минеральная вода, в кружке чай, в чашке молоко, в стакане кофе, в кувшине квас.