codes — по одному на вершину:
- сотни — глубина вершины d (корень на глубине 1, 1 ≤ d ≤ 4);
- десятки — позиция p вершины в своём ряду, если бы дерево было полным (1 ≤ p ≤ 2^(d-1), слева направо);
- единицы — значение вершины v (0 ≤ v ≤ 9).
Таким образом, дети вершины на позиции p стоят на следующей глубине на позициях 2p - 1 (левый) и 2p (правый).
Для каждого листа посчитайте сумму значений на пути от корня до него и верните общую сумму по всем листьям. Гарантируется, что codes задаёт корректное связное дерево.codes=[117, 212, 224, 325] → 25
Корень 7 с детьми 2 и 4; у вершины 2 есть правый ребёнок 5 (позиция 2 на глубине 3). Листья — 5 и 4: пути 7 + 2 + 5 = 14 и 7 + 4 = 11, итого 25.
codes=[110] → 0
Дерево из одного корня со значением 0: один путь с суммой 0.
codes=[113, 229, 343, 488] → 23
codes отсортирован по возрастаниюcodes описывает корректное двоичное дерево глубиной не больше 4codes=[117, 212, 224, 325]
25
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 115 тестов на сервере, включая скрытые.