26.04 Скидки
Ошибка.
Попробуйте повторить позже
Магазин предоставляет оптовому покупателю скидку по следующим правилам:
- на каждый второй товар ценой больше 200 рублей предоставляется скидка 30%;
- общая цена покупки со скидкой округляется вверх до целого числа рублей;
- порядок товаров в списке определяет магазин и делает это так, чтобы общая сумма скидки была наименьшей.
Вам необходимо определить общую цену закупки с учётом скидки и цену самого дорогого товара, на который будет
предоставлена скидка.
Входные данные. Первая строка входного файла 4.txt содержит число N – общее количество купленных товаров.
Каждая из следующих N строк содержит одно целое число – цену товара в рублях. В ответе запишите два целых числа:
сначала общую цену покупки с учётом скидки, затем цену самого дорогого товара, на который предоставлена скидка.
Пример входного файла
7
225
260
380
95
192
310
60
В данном случае товары с ценой 60, 95, 192 не участвуют в определении скидки, остальные товары магазину выгодно
расположить в таком порядке цен: 380, 225, 310, 260. Скидка предоставляется на товары ценой 225 и 260. Суммарная цена
этих двух товаров со скидкой составит 339,5 руб., после округления – 340 руб. Общая цена покупки составит: 60 + 95 + 340
+ 380 + 192 + 310 = 1377 руб. Самый дорогой товар, на который будет получена скидка, стоит 260 руб. В ответе нужно
записать числа 1377 и 260.
Решение 1 ( Excel / LibreOffice):
Откроем текстовый документ, скопируем значения и перенесем их в Excel или LibreOffice.
Перенесем числовое значение количества купленных товаров, где оно нам не помешает. Сортируем числа по возрастанию.
Перенесем все числа, большие 200 в столбик . В столбике
найдем стоимость товаров после предоставления скидки
(только на первую половину товаров, так как именно таким образом мы максимизируем прибыль нашего магазина).
Суммируем стоимости товаров до 200 (включительно)(столбик
), стоимости товаров со скидкой (столбик
) и
стоимости товаров больших 200, но без скидки
. Округляем полученное число вверх до целого.
Найдем товар, который имеет макс. числовое значение и на который предоставляется скидка. Запишем ответ.
Решение 2 (Python):
file = open("4.txt") n = int(file.readline()) array = [int(file.readline()) for _ in range(n)] array = sorted(array) i = 0 summ = 0 max_wd = 0 while array[i] <= 200: summ += array[i] i += 1 t = (n - i) // 2 while t > 0: summ += array[i] * 0.7 max_wd = array[i] i += 1 t -= 1 if summ + sum(array[i:]) % 1 != 0: print(int(summ + sum(array[i:])) + 1, max_wd) else: print(int(summ + sum(array[i:])), max_wd)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!