Задание выполняется с использованием прилагаемых файлов
Продавец (по прозвищу «Не просто показываю») предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:
- на каждый второй товар стоимостью больше
рублей предоставляется скидка
;
- общая стоимость покупки со скидкой округляется вверх до целого числа рублей;
- порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей.
По известной стоимости каждого товара в покупке необходимо определить общую стоимость покупки с учётом скидки и стоимость самого дорогого товара, на который будет предоставлена скидки
Входные данные
Первая строка входного файла содержит число — общее количество купленных товаров. Каждая из последующих
строк содержит одно целое число — стоимость товара в рублях.
Выходные данные
В ответе запишите два целых числа через пробел: сначала общую стоимость покупки с учётом скидки, затем стоимость самого дорогого товара, на который будет предоставлена скидка.
Решение 1 ( Excel / LibreOffice):
Откроем текстовый документ, скопируем значения и перенесем их в Excel или LibreOffice.
Верхнее число — это кол-во чисел, переносим его отдельно.
Сортируем числа по возрастанию.
Находим первое число, большее , т.е.
и считаем, сколько осталось чисел. Их осталось
, значит, на
товара будет применена скидка. Так как это должно быть выгодно продавцу, значит, скидка предоставляется на первые, самые дешевые,
товара.
Вставляем формулу в соседние от необходимых нам ячеек: =A4816*0,5. Не забывайте, что кол-во товаров должно быть .
Далее считаем сумму с помощью формулы =CУММ(B:B;A1:A4815;A7058:A9301) и записываем последнее число, на которое вы применили формулу выше.
Решение 2 (Python)
file = open(’Задание_26.txt’)
lines = file.readlines()
n = int(lines[0])
array = list(map(int, lines[1:]))
array = sorted(array)
i = 0
current_sum = 0
last_elem = 0
ind_last = 0
users_count = 0
while array[i] <= 130:
current_sum += array[i]
i += 1
t = i + (n - i) // 2 + (n % 2)
ans = current_sum + sum(array[t:]) + sum(array[i:t]) // 2 + sum(array[i:t]) % 2
print(ans, array[t - 1])