queue<pair<int, int» q;
q.push(0, 0);
while (v, d) := q.pop() {
if d == target:
ans += val[v]
continue
if left[v]
q.push(left[v], d+1)
if right[v]
q.push(right[v], d+1)
}
в плюсах в итоге пришлось бы 2 очереди создавать и получилось бы еще на пару строк больше, решил сделать глубину 😐