Задача ясна: по данным за N дней найти номера дней, когда расход трафика превысил средний расход за весь период.
Пояснение и решение пошагово
- Понимание условия
- Нужно вычислить средний расход за период: среднее арифметическое всех значений.
- Затем выбрать все дни, у которых расход больше этого среднего (строго больше, не равно).
- Номера дней считаем с 1 до N.
- Алгоритм
- Вводим N и массив A из N целых чисел — количества израсходованных МБ.
- Вычисляем среднее значение avg = (sum(A)) / N.
- Формируем список результатов R: для каждого индекса i (0-based) если A[i] > avg, добавляем i+1 в R.
- Выводим R как массив чисел (номеров дней).
- Пояснение важных моментов
- avg может быть не целым числом (используем вещественное деление).
- Условие “превосходил средний за этот период” означает строго больше, т.е. A[i] > avg.
- Валидация: если N = 0, выводим пустой массив. Обычно N >= 1, как в задании, но пригодится защищённость кода.
- Пример
- Ввод: 5 10 20 15 25 10
- Сумма = 80, avg = 80 / 5 = 16.0
- Элементы больше среднего: 20 (день 2), 25 (день 4)
- Вывод: [2, 4]
- Сложность
- Время: O(N), так как проходим по всем элементам пару раз (один проход для суммы и один для отбора).
- Память: O(K), где K — число дней, превышающих среднее (в худшем случае O(N)).
- Пример кода на Python 3 (один из рабочих вариантов)
- Ввод и вывод через стандартный ввод/вывод. Результат выводится как массив Python-литерала, например [2, 4].
- Простой вариант вывода как Python-список: def solve(): import sys data = sys.stdin.read().strip().split() if not data: print([]) return n = int(data[0]) arr = list(map(int, data[1:1+n])) if n == 0: print([]) return avg = sum(arr) / n res = [i + 1 for i, v in enumerate(arr) if v > avg] print(res)
if name == "main": solve()
- Альтернативный формат вывода (если требуется вывод без квадратных скобок, числа через пробел):
... та же логика, но в конце:
print(' '.join(map(str, res))) # вывод: "2 4" для примера
Если понадобятся дополнительные примеры или адаптация под другой язык программирования (C++, Java, JavaScript), скажи — подстрою решение под конкретный язык и формат вывода.