Задача к ЕГЭ по информатике на тему «задачи под вебы» №5

Задача с сайта https://kpolyakov.spb.ru/

Магазин предоставляет оптовому покупателю скидку по следующим правилам:

– на каждый второй товар ценой больше 100 рублей предоставляется скидка 10%;

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

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

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

Входные данные. Первая строка входного файла 26-s1.txt содержит число N  – общее количество купленных товаров. Каждая из следующих N  строк содержит одно целое число – цену товара в рублях. В ответе запишите два целых числа: сначала общую цену покупки с учётом скидки, затем цену самого дорогого товара, на который предоставлена скидка.

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

7

225

160

380

95

192

310

60

В данном случае товары с ценой 60 и 95 не участвуют в определении скидки, остальные товары магазину выгодно расположить в таком порядке цен: 380, 160, 225, 192, 310. Скидка предоставляется на товары ценой 160 и 192. Суммарная цена этих двух товаров со скидкой составит 316,8 руб., после округления – 317 руб. Общая цена покупки составит: 60+ 95+ 317 + 380 + 225+ 310 = 1387  руб. Самый дорогой товар, на который будет получена скидка, стоит 192 руб. В ответе нужно записать числа 1387 и 192.

f= open(’26-s1.txt’) # Открываем файл
n = int(f.readline()) # Kоличество купленных товаров
# Сортировка всех цен по возрастанию
sales = sorted([int(i) for i in f])
# Товары дешевле 100р. (без скидки)
not_sales = [i for i in sales if i <= 100]
# Остальные товары, дороже 100р.
sales = sales[len(not_sales):]
# Товары, на которые будет действовать скидка
sales100 = sales[:len(sales) // 2]
# Tовары, дороже 100р. (без скидки)
sales = sales[len(sales) // 2:]
# Сумма всех товаров
print(sum(sales+not_sales) + sum(sales100)*0.9)
# Самый дорогой товар, на который предоставлена скидка
print(sales100[-1])

Ответ: 499078 550
Оцените статью
Я решу все!