Подсчет операций

Автор задачи: Даниил Орешников, разработчик: Ильдар Загретдинов

Заметим, что для того, чтобы обнулить значение индикатора в листе дерева, нам необходимо сделать модуль от веса листа операций, при этом все вершины на пути от листа до корня тоже невозможно не затронуть. Поэтому минимальное количество операций для обнуления веса всех листьев — сумма модулей весов листьев в начале. После этого ненулевыми (возможно) остались веса вершин на предпоследнем уровне, для их обнуления придется сделать аналогичные операции. Заметим, что выполняя поиск в глубину, мы понимаем на каждом шаге, сколько нам нужно сделать операций для обнуления значения в текущей вершине (значение в вершине после применений операций к детям изменилось на сумму весов детей). Таким образом мы понимаем, сколько нужно сделать операций применительно к этой вершине.