В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Мадока2000
Мадока2000
03.09.2021 13:30 •  Информатика

В городе Ж еще не распространены банковские карты, поэтому в автобусах жители рассчитываются обычно наличными. Пассажиры норовят запалить за проезд крупными купюрами, поэтому каждому из них нужно дать ровно N рублей сдачи. Выходя на рейс, кондуктор обнаружил, что у него осталось ровно A рублевых монет и ровно B двухрублевых монет. Определите, какому наибольшему числу пассажиров он сможет выдать N рублей сдачи, используя эти монеты.
Входные данные
Первая строка входных данных содержит целое положительное число N – величину данных. Вторая строка входных данных содержит целое неотрицательное число А – кол-во имеющихся монет в один рубль. Третья строка содержит целое неотрицательное число В – кол-во монет в два рубля.
Выходные данные.
Программа должна вывести единственное целое число – максимальное число пассажиров, которым можно дать сдачу.

Показать ответ
Ответ:
смерть73
смерть73
20.12.2021 16:30

ответ (Python):

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,0(0 оценок)
Ответ:
лолкекчибурек1
лолкекчибурек1
20.12.2021 16:30

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,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота