Задание выполняется с использованием прилагаемых файлов
В магазине электроники раз в месяц проводится распродажа. Из всех товаров выбирают K товаров с самой маленькой ценой и делают на них скидку в . По заданной информации о цене каждого из товаров и количестве товаров, на которые будет скидка, определите цену самого дешёвого товара, не участвующего в распродаже, а также целую часть от суммы всех скидок.
Входные данные
Входные и выходные данные. В первой строке входного файла находятся два числа, записанные через пробел: — общее количество цен (натуральное число, не превышающее
) и
— количество товаров со скидкой. В следующих
строках находятся значения цены каждого из товаров (все числа натуральные, не превышающие
), каждое в отдельной строке.
Выходные данные
Запишите в ответе два числа через пробел: сначала цену самого дешёвого товара, не участвующего в распродаже, а затем целую часть от суммы всех скидок.
Пример входного файла
При таких исходных данных ответ должен содержать два числа — и
. Пояснение: скидка будет на товары стоимостью
. Тогда самый дешёвый товар без скидки стоит
, а сумма скидок
.
Решение 1 ( Excel / LibreOffice):
Откроем текстовый документ, скопируем значения и перенесем их в Excel или LibreOffice.
Перенесем числовые значения количества цен и количества товаров, где они нам не помешают. Сортируем числа по возрастанию. Выбираем 144 элемента с минимальным числовым значением. Для удобства все элементы которые мы выбрали, перенесем в отдельный столбик, например в . Теперь в столбике
найдем, чему равна скидка на каждый товар. Найдем товар, имеющий мин. числовое значение в столбике
. Суммируем значения всех скидок. Запишем ответ.
Решение 2 (Python):
file = open("3.txt")
lines = file.readlines()
n, k = map(int, lines[0].split())
array = list(map(int, lines[1:]))
array = sorted(array)
with_discount = 0
for i in range(k):
with_discount += array[i] * 0.08
print(array[k], int(with_discount))