26 ЗАДАНИЕ ЕГЭ В магазине электроники раз в месяц проводится распродажа. Из всех товаров выбирают K товаров с самой большой ценой и делают на них скидку в 20%. По заданной информации о цене каждого из товаров и количестве товаров, на которые будет скидка, определите цену самого дорогого товара, не участвующего в распродаже, а также целую часть от суммы всех скидок.
Входные и выходные данные. В первой строке входного файла 26-k1.txt находятся два числа, записанные через пробел: N – общее количество цен (натуральное число, не превышающее 10 000) и K – количество товаров со скидкой. В следующих N строках находятся значения цены каждого из товаров (все числа натуральные, не превышающие 10 000), каждое в отдельной строке. Запишите в ответе два числа: сначала цену самого дорогого товара, не участвующего в распродаже, а затем целую часть от суммы всех скидок.
Пример входного файла:
10 3
1800
3600
3700
800
2600
2500
1800
1500
1900
1200
При таких исходных данных ответ должен содержать два числа – 2500 и 1980. Пояснение: скидка будет на товары стоимостью 3700, 3600, 2600. Тогда самый дорогой товар без скидки стоит 2500, а сумма скидок 740+720+520 = 1980.
Сегодня мы рассмотрим задачу из ЕГЭ по математике, которая связана с распродажей товаров в магазине электроники.
Итак, по условию задачи мы имеем общее количество цен - N и количество товаров со скидкой - K. Нам необходимо определить цену самого дорогого товара, не участвующего в распродаже, а также целую часть от суммы всех скидок.
Давайте разберем пошаговое решение этой задачи.
1. Сначала нам нужно прочитать входные данные из файла. В первой строке файла указаны два числа - N и K. Мы можем использовать функцию input() для ввода этих чисел:
N, K = map(int, input().split())
2. Далее, в следующих N строках находятся значения цены каждого из товаров. Мы можем использовать цикл for для считывания этих значений и сохранения их в список:
prices = []
for i in range(N):
price = int(input())
prices.append(price)
3. Теперь у нас есть список цен всех товаров. Нам нужно отсортировать его по убыванию, чтобы найти K товаров с самой большой ценой:
prices.sort(reverse=True)
4. Далее, мы можем выполнить скидку в 20% на первые K товаров:
discount = 0
for i in range(K):
discount += prices[i] * 0.2
5. Теперь, чтобы найти цену самого дорогого товара, не участвующего в распродаже, мы можем просто взять элемент списка с индексом K:
max_price = prices[K]
6. Наконец, нам нужно найти целую часть от суммы всех скидок. Мы можем использовать функцию int() для округления значения до целого числа:
rounded_discount = int(discount)
7. Осталось только вывести полученные значения:
print(max_price, rounded_discount)
Таким образом, мы решили данную задачу. Не забудьте протестировать код с помощью примера входных данных, чтобы убедиться в правильности решения.
Удачи вам на экзамене!
Пожалуйста, обратите внимание, что решение данной задачи представлено на языке программирования Python. Если вам нужно решение на другом языке или у вас возникли вопросы, не стесняйтесь обращаться за помощью.