26.04 Скидки
Ошибка.
Попробуйте повторить позже
Продавец предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:
— на каждый второй товар стоимостью больше 70 рублей предоставляется скидка 30%;
— общая стоимость покупки со скидкой округляется вверх до целого числа рублей;
— порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей;
По известной стоимости каждого товара в покупке необходимо определить общую стоимость покупки с учётом скидки и стоимость самого дорогого товара, на который будет предоставлена скидки.
Входные данные
Первая строка входного файла содержит число N — общее количество купленных товаров. Каждая из последующих N строк содержит одно целое число — стоимость товара в рублях.
В ответе запишите два целых числа через пробел: сначала общую стоимость покупки с учётом скидки, затем стоимость самого дорогого товара, на который будет предоставлена скидка.
Решение электронными таблицами
Открываем Excel, заходим в "Открыть"и выбираем текстовый документ из задачи. В вышедшем окне в первом пункте выбираем формат данных с разделителями. Во втором пункте помимо знака табуляции выбираем пробел. Формат данных столбца общий.
Перетаскиваем числа из первой строки в бок, чтобы не мешались. Пустую первую строку убираем(ПКМ на номер строки — удалить). Выделяем столбец с числами, нажимаем на "Сортировка и фильтр"(раздел "Главная справа), выбираем сортировку по возрастанию.
Товаров, которые дешевле 70 рублей, либо стоят 70 рублей, здесь 1114. 7890-1114=6776 — количество товаров дороже 70 рублей, выделяем первую половину из них и применяем скидку. Начиная с A1115 до A4502 включительно, применяем формулу по типу =A1115*0,7 в соседнем столбце. Изначальная стоимость последнего товара, на который применили скидку — 284, это пойдёт в ответ вторым числом.
Считаем сумму: =СУММ(A1:A1114)+СУММ(B1115:B4502)+СУММ(A4503:A7890). С округлением в большую сторону, выходит 1784848.
Решение программой
f= open(’26.txt’) # Открываем файл n = int(f.readline()) # Kоличество купленных товаров # Сортировка всех цен по возрастанию sales = sorted([int(i) for i in f]) # Товары дешевле 70р. (без скидки) not_sales = [i for i in sales if i <= 70] # Остальные товары, дороже 70р. sales = sales[len(not_sales):] # Товары, на которые будет действовать скидка sales70 = sales[:len(sales) // 2] # Tовары, дороже 70р. (без скидки) sales = sales[len(sales) // 2:] # Сумма всех товаров print(sum(sales+not_sales) + sum(sales70)*0.7) # Самый дорогой товар, на который предоставлена скидка print(sales70[-1])
Специальные программы

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

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

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

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

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

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