Ctrl K

Сумма чётных после правок

Средняя
Дан массив values и список правок updates, где каждая правка — пара [delta, index]: к элементу values[index] нужно прибавить delta. Применяйте правки по порядку. После каждой правки запишите сумму всех чётных элементов массива (отрицательные чётные тоже считаются). Верните список этих сумм. Пересчитывать всю сумму после каждой правки слишком долго — обновляйте её за O(1).
Пример 1
values=[5, 6, 7], updates=[[1, 0], [3, 1], [-7, 2]] → [12, 6, 6]

После [1, 0] массив [6, 6, 7], сумма чётных 12. После [3, 1] — [6, 9, 7], сумма 6. После [-7, 2] — [6, 9, 0], сумма 6 + 0 = 6. Ответ [12, 6, 6].

Пример 2
values=[-3], updates=[[1, 0], [1, 0]] → [-2, 0]

Сначала −3 + 1 = −2 (чётное, сумма −2), потом −2 + 1 = −1 (нечётное, сумма 0).

Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • -10⁴ ≤ values[i] ≤ 10⁴
  • 1 ≤ len(updates) ≤ 10⁵
  • -10⁴ ≤ delta ≤ 10⁴
  • 0 ≤ index < len(values)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЧтение по спирали СредняяКвадрат, пронумерованный по спирали СредняяСледующий шаг колонии клеток СредняяЗигзаг по диагоналям СредняяТри в ряд до упора Средняя
загружаем Python…
Вход
values=[5, 6, 7], updates=[[1, 0], [3, 1], [-7, 2]]
Ожидается
[12, 6, 6]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 89 тестов на сервере, включая скрытые.