В магазине электроники раз в месяц проходит распродажа, где выбирают K товаров с самой высокой ценой и делают

  • 61
В магазине электроники раз в месяц проходит распродажа, где выбирают K товаров с самой высокой ценой и делают на них 20% скидку. Используя информацию о ценах на каждый товар и количестве товаров со скидкой, нужно найти цену самого дорогого товара, не участвующего в распродаже, и целую часть суммы всех скидок. В первой строке данного задания во входном файле 26-k1.txt содержатся два числа, разделенных пробелом: N - общее количество цен (не более 10 000) и K - количество товаров со скидкой. Далее следуют строки с информацией о ценах на товары.
Tigrenok
1
Давайте решим данную задачу поэтапно.

Шаг 1: Ввод данных
В начале мы должны прочитать данные из файла. В первой строке файла содержится два числа, разделенных пробелом: N - общее количество цен и K - количество товаров со скидкой. Далее в следующих строках содержится информация о ценах на товары.

Шаг 2: Организация данных
Мы можем создать список, в котором будем хранить цены на товары. Затем мы можем отсортировать этот список в порядке убывания, чтобы выделить K самых дорогих товаров, на которые будет сделана скидка.

Шаг 3: Расчёт цены самого дорогого товара, не участвующего в распродаже
После сортировки списка цен, мы должны взять первый элемент из списка, так как это будет цена самого дорогого товара, не участвующего в распродаже.

Шаг 4: Расчёт суммы всех скидок
Мы можем вычислить сумму всех скидок, умножив каждую скидку на 20% (или 0.2) и округлив результат до ближайшего целого числа. Затем мы можем найти целую часть этой суммы.

Шаг 5: Вывод результата
Мы можем вывести найденные значения: цену самого дорогого товара, не участвующего в распродаже, и целую часть суммы всех скидок.

Теперь я покажу выполнение каждого шага в коде на языке Python.

python
# Шаг 1: Ввод данных
with open("26-k1.txt", "r") as file:
line = file.readline()
N, K = map(int, line.split())
prices = []
for _ in range(N):
price = int(file.readline())
prices.append(price)

# Шаг 2: Организация данных
prices.sort(reverse=True)

# Шаг 3: Расчёт цены самого дорогого товара, не участвующего в распродаже
max_price = prices[K]

# Шаг 4: Расчёт суммы всех скидок
discount_sum = sum(prices[:K]) * 0.2
discount_sum_integer = int(discount_sum)

# Шаг 5: Вывод результата
print("Цена самого дорогого товара, не участвующего в распродаже:", max_price)
print("Целая часть суммы всех скидок:", discount_sum_integer)


Надеюсь, это поможет вам понять, как решить данную задачу. Если у вас возникнут еще вопросы, пожалуйста, не стесняйтесь задавать!