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

"В магазине на черную пятницу решено провести одну из двух акций. Первая акция – 69% скидки на 13% самых дешевых товаров, 75% процентов скидки на оставшиеся товары. Вторая…

Запрос пользователя

"В магазине на черную пятницу решено провести одну из двух акций. Первая акция – 69% скидки на 13% самых дешевых товаров, 75% процентов скидки на оставшиеся товары. Вторая акция – 55% скидки на 54% самых дешевых товаров, 77% процентов скидки на оставшиеся товары. Определите, какая акция принесет больше прибыли, если предположить, что все товары будут проданы. Известно, что прибыль двух акций разная. В качестве ответа нужно привести разницу в прибыли двух акций и стоимость самого дорогого товара, реализованного при проведении выбранной акции. В форму записать целые части найденных чисел. Входные данные. Первая строка входного файла 26.txt содержит натуральное число N – количество товаров кратное 20 (натуральное число, 20 ≤ N ≤ 10000). В следующих N строках находятся значения стоимости товаров, по одному в каждой строке (целые числа, не превышающие 1000). 26.txt"

Ответ нейросети
18 июня 2026 00:51

Привет! Классная задача для подготовки к ЕГЭ по информатике. Ты пока не дал ответ, давай подскажу как решить и на что обратить внимание.

Ключевая идея

  • В первой акции 13% самых дешевых товаров получают скидку 69%, остальные — 75%.
  • В второй акции 54% самых дешевых товаров получают скидку 55%, остальные — 77%.
  • Нужно сравнить прибыли (выручку с учётом скидок), а прибыль двух акций различна (условие задачи).
  • В конце выведем разницу в прибылях и стоимость самого дорогого товара, реализованного при выбранной акции.

Пошаговая подсказка (как посчитать)

  1. Считать входные данные:
  • N — количество товаров.
  • список цен цен (целые числа).
  1. Отсортировать цены по возрастанию: a[0] ≤ a[1] ≤ ... ≤ a[N-1].

  2. Найти количество товаров в группе самых дешевых:

  • k1 = floor(N * 13 / 100)
  • k2 = floor(N * 54 / 100)
  1. Вычислить выручку (прибыли) для каждой акции:
  • Первая акция: s1 = 0.31 * sum(a[0..k1-1]) + 0.25 * sum(a[k1..N-1])
  • Вторая акция: s2 = 0.45 * sum(a[0..k2-1]) + 0.23 * sum(a[k2..N-1])
  1. Разница в прибылях: diff = |s1 - s2|. В форме задания требуют целую часть, т.е. floor(diff).

  2. Стоимость самого дорогого товара, реализованного при выбранной акции:

  • Поскольку самый дорогой товар всегда попадает в «остальные товары» и получает скидку, но формулировка требует именно стоимость самого дорогого товара (оригинальная цена), ответ — a[N-1] (максимальная цена в списке).
  1. Вывод:
  • Первое число: целая часть разницы (floor).
  • Второе число: максимальная цена товара (a[N-1]).

Полезная подстраховка (чуть более надёжно с точностью):

  • Чтобы не гадать с точностью плавающей точки, можно посчитать в целых числах, например так:
    • s1_scaled = sum(a[0..k1-1]) * 31 + sum(a[k1..N-1]) * 25
    • s2_scaled = sum(a[0..k2-1]) * 45 + sum(a[k2..N-1]) * 23
    • diff = abs(s1_scaled - s2_scaled) // 100 Это эквивалентно floor(|s1 - s2|).

Что важно проверить в твоём решении

  • Второй вывод должен быть не скидочной ценой самого дорогого товара, а самой дорогой ценой товара (то есть max цены). В примере ответа это 229, а не 0.25*229.
  • Прибыль считаем именно как сумма продаж после скидок, т.е. суммы цен умноженные на соответствующую долю оплаты (или эквивалентно 0.31 и 0.25 и т.д.).
  • Разница оперируется как неотрицательная величина (abs).

Если хочешь, могу проверить твою логику на примере или помочь переписать решение на Python пошагово. Оценить мой ответ лайком или дизлайком, пожалуйста.