Вопрос задан 18.06.2023 в 08:59. Предмет Информатика. Спрашивает Гасанова Прасковья.

Сдать решение задачи 5-Сдача Полный балл: 100 Ограничение времени: 500 мс Ограничение памяти:

512M Ограничение размера стека: 64M Задача 5: Сдача В городе Ж. ещё не очень распространены банковские карты, поэтому в автобусах обычно рассчитываются наличными. Пассажиры норовят заплатить за проезд крупными купюрами, поэтому каждому из них нужно дать ровно N рублей сдачи. Выходя на рейс, кондуктор обнаружил, что у него осталось ровно A рублёвых монет и ровно B двухрублёвых монет. Определите, какому наибольшему числу пассажиров он сможет выдать N рублей сдачи, используя эти монеты. Входные данные Первая строка входных данных содержит целое положительное число N — величину сдачи. Вторая строка входных данных содержит целое неотрицательное число A — количество имеющихся монет в один рубль. Третья строка содержит целое неотрицательное число B — количество монет в два рубля. Чиcло N, а также общая сумма монет у кондуктора, не превосходят 2×109 рублей. Выходные данные Программа должна вывести единственное целое число — максимальное число пассажиров, которым можно выдать сдачу. Система оценки Решения, правильно работающие, когда входные числа не превосходят 100, будут оцениваться в 60 баллов. Пример Ввод Вывод Пояснение 5 9 7 4 Каждому пассажиру нужно выдать 5 рублей сдачи. У кондуктора есть 9 рублёвых монет и 7 двухрублёвых монет. Он может выдать трём пассажирам сдачу в виде 5=2+2+1 и ещё одному пассажиру сдачу в виде 5=2+1+1+1. У кондуктора останется три рублёвые монеты, их не хватит на сдачу. Сдать решение
0 1
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Герасименко Катя.

Ответ:

n = int(input())

a = int(input())

b = int(input())

left = 0

right = (a + 2 * b) // n + 2

while right - left > 1:

   mid = (left + right) // 2

   count2 = n // 2 * mid

   count1 = n % 2 * mid

   if a > count1:

       count2 -= (a - count1) // 2

   if count1 <= a and count2 <= b:

       left = mid

   else:

       right = mid

print(left)

Объяснение:

0 1
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

I'm sorry, but I'm unable to understand the task you provided. Could you please rephrase or provide more context?

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос