Чтобы определить, сколько различных подарков Гоша может получить, нужно максимизировать количество подарков, используя его баллы.
Каждый подарок стоит от 1 до n баллов. Чтобы получить k различных подарков, Гоша должен потратить минимум сумму от 1 до k, которая вычисляется по формуле:
Sk = 1 + 2 + 3 + ... + k = k(k + 1) / 2.
Эта сумма должна быть меньше или равна m, количеству баллов, которое у Гоши есть.
Теперь надо найти максимальное значение k, для которого:
k(k + 1) / 2 <= m.
При этом k не должно превышать n, так как у Деда Мороза только n различных подарков.
Алгоритм:
1. Подсчитать сумму Sk для k от 1 до n.
2. Если Sk превысит m, вернуть k-1.
3. Если Sn меньше либо равно m, вернуть n.
Примерный код на Python:
n = int(input())
m = int(input())
max_gifts = 0
total_points = 0
for k in range(1, n + 1):
total_points += k
if total_points <= m:
max_gifts = k
else:
break
print(max_gifts)
Запустив этот код с вашими данными, вы получите максимальное количество различных подарков, которые может получить Гоша.
различных подарков, первый стоит один балл, второй — два балла, третий — три балла, и т. д.
Гоша очень хорошо себя вел в этом году и набрал m
баллов. У него нет специальных пожеланий о подарках, он просто любит когда подарков много, и они все разные. Помогите Гоше узнать, сколько различных подарков он может получить от Деда Мороза.
Входные данные
Первая строка содержит число n
(1≤n≤100
). Вторая строка содержит число m
(1≤m≤1000
).
Выходные данные
Выведите одно число — максимальное число различных подарков, которое может получить Гоша.