Вопрос задан 28.09.2023 в 00:59. Предмет Информатика. Спрашивает Кайгородов Иван.

Задача 6: BoxStation Компания Microsony выпустила на рынок новую революционную игровую приставку

BoxStation, и число желающих приобрести её огромно! В день открытия продаж в магазин пришло N покупателей. Видя ажиотажный спрос, администрация договорилась, что в день открытия продаж в магазин поступят M приставок, и в последующие дни также будут подвозиться по M приставок ежедневно. Нераспроданные приставки остаются на складе в магазине и могут быть реализованы позже. Однако спрос на приставки оказался столь велик, что на второй день в магазин за приставками пришли N + 1 покупателей, на третий день — N + 2 покупателей и далее в каждый день покупателей было ровно на 1 больше, чем в предыдущий день. Каждому покупателю отпускается одна приставка. Но контракт с поставщиками приставок уже заключён, поэтому несмотря на рост спроса в магазин всё равно ежедневно привозят только M новых приставок. Определите, в какой день магазину не хватит приставок для того, чтобы удовлетворить запросы всех покупателей. Входные данные Первая строка входных данных содержит целое число N (1 ≤ N ≤ 109) — количество покупателей в первый день продаж. Вторая строка входных данных содержит целое число M (1 ≤ M ≤ 109) — количество ежеднево поставляемых в магазин приставок. Выходные данные Программа должна вывести одно целое число — номер дня, в который число покупателей в магазине превысит число доступных приставок. Система оценки Решения, правильно работающие, когда входные числа не превосходят 100, будут оцениваться в 60 баллов. Пример Ввод Вывод Пояснение 10 12 6 В первый день в магазин привезли 12 приставок, а пришло 10 покупателей, в конце дня в магазине осталось 2 приставки. На второй день привезли ещё 12 приставок, из них купили 11, поэтому в магазине осталось 2+12-11=3 приставки. На третий день привезли 12 приставок и пришло 12 покупателей, поэтому в магазине также осталось 3 приставки. На четвёртый день привезли 12 приставок, а купили 13, поэтому в магазине осталось 3+12-13=2 приставки. На пятый день привезли 12 приставок, а купили 14, поэтому в магазине не осталось ни одной приставки. Поэтому на шестой день магазин не сможет удовлетворить всех покупателей.
0 0
Перейти к ответам

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

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

Ответ:

b = int(input())

a = int(input())

left = 0

right = 2 * 10 ** 9 + 1

while right - left > 1:

   mid = (left + right) // 2

   plus = a * mid

   minus = (b + b + mid - 1) * mid // 2

   if plus >= minus:

       left = mid

   else:

       right = mid

print(right)

Объяснение:

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

Для решения этой задачи вам нужно определить, в какой день магазину не хватит приставок для удовлетворения запросов всех покупателей. Для этого вы можете использовать следующий план:

  1. Сначала рассчитайте, сколько приставок будет продано в первый день. Это будет минимум из числа покупателей в первый день (N) и количества приставок, поставляемых в магазин ежедневно (M). Обозначим это число как X.

  2. Заведите переменную, которая будет отслеживать общее количество приставок, доступных в магазине. В начале это будет равно M.

  3. Начните с первого дня и в каждый следующий день увеличивайте количество покупателей на 1 и вычитайте из общего количества приставок число X (проданных в этот день).

  4. Проверьте, если в какой-то день количество доступных приставок станет меньше нуля, это будет означать, что магазин не сможет удовлетворить запросы всех покупателей в этот день.

  5. Выведите номер дня, в который магазин не сможет удовлетворить всех покупателей.

Вот пример решения на Python:

python
N = int(input()) M = int(input()) X = min(N, M) # Количество приставок, проданных в первый день available_consoles = M # Общее количество доступных приставок day = 1 # Номер текущего дня while True: # Увеличиваем количество покупателей на 1 и вычитаем проданные приставки N += 1 available_consoles -= X # Если не хватает приставок, выводим номер дня и завершаем цикл if available_consoles < 0: print(day) break # Увеличиваем номер дня day += 1

Этот код сначала определяет, сколько приставок продано в первый день, а затем в цикле увеличивает количество покупателей и вычитает проданные приставки, пока не найдет день, когда не хватает приставок для удовлетворения всех покупателей.

0 0

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

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

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

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