Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3619110
А
Аноним
13 июня 2026 16:42 · публичный вопрос
А
Аноним

В магазине на черную пятницу решено провести одну из двух акций. Первая акция 60% скидки на 72% самых дешевых товаров, 78% процентов скидки на оставшиеся товары. Вторая акция 84% скидки на 80% самых дешевых товаров, 49% процентов скидки на оставшиеся товары. Определите, какая акция принесет больше прибыли, если предположить, что все товары будут проданы. Известно, что прибыль двух акций разная. В качестве ответа нужно привести разницу в прибыли двух акций и стоимость самого дорогого товара, реализованного при проведении выбранной акции. В форму записать целые части найденных чисел. Входные данные. Первая строка входного файла 26.txt содержит натуральное число N количество товаров кратное 20 (натуральное число, 20 N 10000). В следующих N строках находятся значения стоимости товаров, по одному в каждой строке (целые числа, не превышающие 1000). 26.txt

Нейросеть13 июня 2026 16:42

Классная задача по оптимизации прибыли. Дам подсказку, как правильно посчитать все шаги и не запутаться.

Что именно нужно посчитать

  • Упорядочиваем цены по возрастанию: a1 ≤ a2 ≤ ... ≤ aN.
  • Акция 1: 60% скидки на 72% самых дешевых товаров, 78% скидки на оставшиеся товары.
    • Число самых дешевых: k1 = floor(N * 72 / 100).
    • Прибыль (доход) от акции 1: s1 = sum(a[0:k1]) * 0.40 + sum(a[k1:N]) * 0.22.
  • Акция 2: 84% скидки на 80% самых дешевых товаров, 49% скидки на оставшиеся.
    • Число самых дешевых: k2 = floor(N * 80 / 100).
    • Прибыль (доход) от акции 2: s2 = sum(a[0:k2]) * 0.16 + sum(a[k2:N]) * 0.51.
  • Сравниваем s1 и s2. Разница profit_diff = |s1 - s2|, берём целую часть.
  • Стоимость самого дорогого товара, реализованного при выбранной акции:
    • Если выбрана акция 1 (s1 > s2): цена после скидки самого дорогого — aN * 0.22 (целая часть).
    • Если выбрана акция 2 (s2 > s1): цена после скидки самого дорогого — aN * 0.51 (целая часть).

Почему так:

  • Самые дешевые товары в обеих акциях — часть с наименьшими ценами и получают меньшую часть скидки или большую, в зависимости от условия акции.
  • Самый дорогой товар попадает в «остаток» группы и получает скидку соответствующей акции для оставшейся части.

Ещё пара практических подсказок:

  • Не забывайте про floor/целую часть: в Python это int(...) для положительных чисел.
  • N заранее кратно 20, но k1 и k2 считаются через floor(N*percent/100), чтобы корректно работать без предположений.

Если хочешь, могу пройти через конкретный пример на твоих данных или проверить твой код. Просто напиши, на каком этапе застрял(-а).

Пожалуйста, оцени мой ответ лайком или дизлайком.

В магазине на черную пятницу решено провести одну из двух акций. Первая акция 60% скидки на 72% самых дешевых товаров, 78% процентов скидки на оставшиеся товары. Вторая акция 84% скидки на 80% самых дешевых товаров, 49% процентов скидки на оставшиеся товары. Определите, какая акция принесет больше прибыли, если предположить, что все товары будут проданы. Известно, что прибыль двух акций разная. В качестве ответа нужно привести разницу в прибыли двух акций и стоимость самого дорогого товара, реализованного при проведении выбранной акции. В форму записать целые части найденных чисел. Входные данные. Первая строка входного файла 26.txt содержит натуральное число N количество товаров кратное 20 (натуральное число, 20 N 10000). В следующих N строках находятся значения стоимости товаров, по одному в каждой строке (целые числа, не превышающие 1000). 26.txt
Классная задача по оптимизации прибыли. Дам подсказку, как правильно посчитать все шаги и не запутаться. Что именно нужно посчитать - Упорядочиваем цены по возрастанию: a1 ≤ a2 ≤ ... ≤ aN. - Акция 1: 60% скидки на 72% самых дешевых товаров, 78% скидки на оставшиеся товары. - Число самых дешевых: k1 = floor(N * 72 / 100). - Прибыль (доход) от акции 1: s1 = sum(a[0:k1]) * 0.40 + sum(a[k1:N]) * 0.22. - Акция 2: 84% скидки на 80% самых дешевых товаров, 49% скидки на оставшиеся. - Число самых дешевых: k2 = floor(N * 80 / 100). - Прибыль (доход) от акции 2: s2 = sum(a[0:k2]) * 0.16 + sum(a[k2:N]) * 0.51. - Сравниваем s1 и s2. Разница profit_diff = |s1 - s2|, берём целую часть. - Стоимость самого дорогого товара, реализованного при выбранной акции: - Если выбрана акция 1 (s1 > s2): цена после скидки самого дорогого — aN * 0.22 (целая часть). - Если выбрана акция 2 (s2 > s1): цена после скидки самого дорогого — aN * 0.51 (целая часть). Почему так: - Самые дешевые товары в обеих акциях — часть с наименьшими ценами и получают меньшую часть скидки или большую, в зависимости от условия акции. - Самый дорогой товар попадает в «остаток» группы и получает скидку соответствующей акции для оставшейся части. Ещё пара практических подсказок: - Не забывайте про floor/целую часть: в Python это int(...) для положительных чисел. - N заранее кратно 20, но k1 и k2 считаются через floor(N*percent/100), чтобы корректно работать без предположений. Если хочешь, могу пройти через конкретный пример на твоих данных или проверить твой код. Просто напиши, на каком этапе застрял(-а). Пожалуйста, оцени мой ответ лайком или дизлайком.