
Задача 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, поэтому в магазине не осталось ни одной приставки. Поэтому на шестой день магазин не сможет удовлетворить всех покупателей.

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

Ответ:
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)
Объяснение:



Для решения этой задачи вам нужно определить, в какой день магазину не хватит приставок для удовлетворения запросов всех покупателей. Для этого вы можете использовать следующий план:
Сначала рассчитайте, сколько приставок будет продано в первый день. Это будет минимум из числа покупателей в первый день (N) и количества приставок, поставляемых в магазин ежедневно (M). Обозначим это число как X.
Заведите переменную, которая будет отслеживать общее количество приставок, доступных в магазине. В начале это будет равно M.
Начните с первого дня и в каждый следующий день увеличивайте количество покупателей на 1 и вычитайте из общего количества приставок число X (проданных в этот день).
Проверьте, если в какой-то день количество доступных приставок станет меньше нуля, это будет означать, что магазин не сможет удовлетворить запросы всех покупателей в этот день.
Выведите номер дня, в который магазин не сможет удовлетворить всех покупателей.
Вот пример решения на Python:
pythonN = 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
Этот код сначала определяет, сколько приставок продано в первый день, а затем в цикле увеличивает количество покупателей и вычитает проданные приставки, пока не найдет день, когда не хватает приставок для удовлетворения всех покупателей.


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







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