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

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

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

    №26 по КИМ

    Продавец предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:

    — на каждый второй товар стоимостью больше 100 рублей предоставляется скидка 30%;

    — общая стоимость покупки со скидкой округляется вверх до целого числа рублей;

    — порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей.

    По известной стоимости каждого товара в покупке необходимо определить общую стоимость покупки с учётом скидки и стоимость самого дорогого товара, на который будет предоставлена скидка.

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

     

    Задание 26

     

    Первая строка входного файла содержит число N — общее количество купленных товаров. Каждая из следующих N строк содержит одно целое число — стоимость товара в рублях.

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

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

    6

    125

    100

    490

    215

    144

    320

    В данном случае товар стоимостью 100 не участвует в определении скидки, остальные товары продавцу выгодно расположить в таком порядке цен: 490, 125, 215, 144, 320. Тогда скидка предоставляется на товары стоимостью 125 и 144. Стоимость этих двух товаров со скидкой составит 188,3 руб., после округления — 189 руб. Общая стоимость покупки составит:

     

    100 + 490 + 215 + 320 + 189 = 1314 руб.

     

    Самый дорогой товар, на который будет получена скидка, стоит 144 руб. В ответе нужно записать числа 1314 и 144.

    Ответ

    Ответ:

    459678 543

    Решение

    Заметим, что числа, меньшие 101 можно сразу суммировать, поскольку на них скидка не распространяется. Поэтому, построчно считывая числа из файла, числа, меньшие 101, будем сразу накапливать в переменной sum, а остальные числа будем записывать в массив. Далее, отсортировав массив по возрастанию, будем прибавлять к переменной sum стоимость товара с учётом скидки, если данный элемент массива имеет индекс, меньший, чем количество чисел, поделённое пополам, и без учёта скидки в остальных случаях.

     

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

     

    f = open('26.txt')
    a = []
    n = int(f.readline()) # Удаляем первую строку(общее количество купленных товаров)
    s = 0
    maxi = 0
    for i in f:
        x = int(i)
        if x <= 100:
            s += x
        else:
            a.append(x)
    a.sort()
    for i in range(len(a)):
        if i < len(a)//2:
            s += a[i] * 0.70
            maxi = a[i]
        else:
            s += a[i]
    print(round(s), maxi)

     

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

     

    Ответ: 459678 543.

     

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

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

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

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

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

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

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