Бесплатное занятие с репетитором 1 на 1! Оценим уровень знаний, разберём тему,
сформируем план подготовки к ЕГЭ. Запишись через тг-бот

осталось мест 52
Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №26
  • Задание №26
  • Задание №2595 ЕГЭ Информатике

    Условие задания #2595

    №26 по КИМ

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

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

     

    Задание 26

     

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

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

    Пример входного файла:

    4 1000

    30 8 A

    50 12 B

    40 14 A

    20 10 B

    В данном случае сначала нужно купить изделия B: 10 изделий по 20 рублей и 12 изделий по 50 рублей. На это будет потрачено 800 рублей. На оставшиеся 200 рублей можно купить 6 изделий A по 30 рублей. Таким образом, всего будет куплено 6 изделий A и останется 20 рублей. В ответе надо записать числа 6 и 20.

    Ответ

    Ответ:

    5895 227

    Решение

    Создадим два двумерных массива, для партий изделий A и для партий изделий B. Считаем данные из файла в эти массивы, в первую строку массива будем считывать цену изделия в партии, во вторую строку будем считывать количество изделий в партии. Далее, отсортируем эти массивы по возрастанию. Сначала найдём, сколько изделий A можно закупить на выделенную сумму, последовательно прибавляя к переменной sum цену изделия в текущей партии. После найдём, сколько изделий A можно закупить на выделенную сумму, последовательно прибавляя к переменной sum цену изделия в текущей партии, также будем накапливать в переменной countSumA количество купленных изделий.

     

    Приведём решение на языке Python.

     

    f = open('26.txt')
    x, y = f.readline().split()
    y = int(y)
    for_B_price = []
    for_B_kol = []
    for i in f:
        if 'A' in i:
            a, b, c = i.split()
            y -= int(a) * int(b)
        else:
            a2, b2, c2 = i.split()
            for_B_price.append(int(a2))
            for_B_kol.append(int(b2))
    mini = min(for_B_price)
    index_mini = 0
    for i in range(len(for_B_price)):
        if mini == for_B_price[i]:
            index_mini = i
    kol_B = 0
    while y > for_B_price[index_mini]:
        y -= for_B_price[index_mini]
        for_B_kol[index_mini] -= 1
        kol_B += 1
        if for_B_kol[index_mini] == 0:
            for_B_price[index_mini] = 1000000000
            mini = min(for_B_price)
            for i in range(len(for_B_price)):
                if mini == for_B_price[i]:
                    index_mini = i
    print(kol_B, y)

     

    В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 5895 227.

     

    Ответ: 5895 227.

     

    Понятно ли решение?

    Решения от учеников
    0

    Похожие задания

    15
    Задание №52585Задание №46720Задание №46721Задание №46752Задание №2595Задание №2602Задание №2601Задание №56113Задание №11023Задание №11022Задание №11021Задание №11026Задание №11025Задание №51424Задание №56118
    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме