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

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

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

    №26 по КИМ

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

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

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

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

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

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

     

    Задание 26

     

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

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

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

    6

    125

    50

    490

    215

    144

    320

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

     

    50 + 490 + 215 + 320 + 202 = 1277 руб.

     

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

    Ответ

    Ответ:

    469784 511

    Решение

    Сначала считаем в массив данные из файла и отсортируем его. После этого распределим значения между двумя массивами: один со значениями <= 50 (на них не будет скидки), оставшиеся значения во второй массив. Чтобы посчитать итоговую сумму, мы считаем сумму первого массива, к ней прибавляем сумму первой половины чисел второго массива, умноженного на 0,75 (к ним применяем скидку), а также прибавляем оставшиеся числа из этого массива. Чтобы найти самый дорогой элемент, нам достаточно вывести последний элемент, так как массив отсортирован.

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

    from math import ceil # Округление вверх
     
    task_file = open('inf_22_10_20_26.txt')
     
    n = int(task_file.readline()) # Обработка первой строки
    a = sorted([int(task_file.readline()) for i in range(n)]) # Обработка остальных строк 
     
    soskidkoi, bezskidki = [], []
    i = 0
    while a[i]<=50:
        bezskidki.append(a[i])
        i+=1 
     
    soskidkoi = a[i:]
     
    k = len(soskidkoi)//2
     
    skidka = ceil(sum(soskidkoi[:k])*0.75)
    samdorogoy = soskidkoi[k-1]
    summa = sum(bezskidki) + skidka + sum(soskidkoi[k:])
     
    print(summa,samdorogoy)

    Ответ: 469784 511.

    Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.

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

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

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

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

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

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

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