practivceAlgorithm/swexpertacademy
[SWEA][Python] 5178 노드의 합
findTheValue
2021. 8. 24. 00:42
리프노드 갯수랑 value 다 줘서 구현은 어렵지 않았다.
첨엔 문제만 읽고 Segment Tree 그리라는줄..
def prefix_tree(node):
if N-M < node <= N:
return tree[node]
elif node > N:
return 0
else:
left = prefix_tree(node*2)
right = prefix_tree(node*2 + 1)
tree[node] = left + right
return tree[node]
for test in range(1, int(input())+1):
N, M, L = map(int, input().split())
tree = [0] *(N+1)
for _ in range(M):
node_num, value = map(int, input().split())
tree[node_num] = value
prefix_tree(1)
print(f'#{test} {tree[L]}')