EGEsoll - сборник решений задач из ЕГЭ

Задача 3 закупка

Предприятие производит оптовую закупку некоторых изделий A и B, на которую выделена определённая сумма денег. У поставщика есть в наличии партии этих изделий различных модификаций по различной цене. На выделенные деньги необходимо приобрести как можно больше изделий A независимо от модификации. Если у поставщика закончатся изделия A, то на оставшиеся деньги необходимо приобрести как можно больше изделий B. Известны выделенная для закупки сумма, а также количество и цена различных модификаций данных изделий у поставщика. Необходимо определить, сколько будет закуплено изделий B и какая сумма останется неиспользованной.

Входные данные.

Первая строка входного файла содержит два целых числа: N — общее количество партий изделий у поставщика и M — сумма выделенных на закупку денег (в рублях). Каждая из следующих N строк описывает одну партию и содержит два целых числа (цена одного изделия в рублях и количество изделий в партии) и один символ (латинская буква A или B), определяющий тип изделия. Все данные в строках входного файла отделены одним пробелом.

В ответе запишите два целых числа: сначала количество закупленных изделий типа B, затем оставшуюся неиспользованной сумму денег.

Download File 1

Добавлено: 17.04.26 21:08

Перейти к решению

Решение

Приведём решение на Python:

f = open("embed.txt")
_, money = map(int, f.readline().split())
izd, zakupB = [], 0
for строка in f:
    t = строка.split()
    izd.append([t[2], int(t[0]), int(t[1])])  # сперва тип, потом цена и количество
izd.sort()  # первые тип А
for type, cost, amount in izd:
    how_much_buy = min(amount, money // cost)  # сколько смогу купить из этой партии
    if type == "B":
        zakupB += how_much_buy
    money -= how_much_buy * cost  # уменьшаю деньги на стоимость покупки
print(zakupB, money) # 5895 227

Ответ: 5895 227

Автор - rubygem17

Объяснение

None

Назад