210662026-01-12 10:52:34vyrallBináris fa magassága (50 pont)python3Runtime error 0/5018ms3636 KiB
import math

n, m = map(int, input().split())
last = 2**(n - 1)*[n - 1]
modified = [[], []]
out = []
mx = 0

def update(idx, new_v, mx_var):
    if idx not in modified[0]:
        modified[0].append(idx)
        modified[1].append(new_v)
        old_v = 1
    else:
        old_v = modified[1][modified[0].index(idx)]
        modified[1][modified[0].index(idx)] = new_v
    cur_h = int(math.log2(idx)) + 1
    mn_idx = idx * 2 ** (n - cur_h) - 2 ** (n - 1)
    mx_idx = idx
    for _ in range(n - cur_h):
        mx_idx = 2 * mx_idx + 1
    mx_idx -= 2 ** (n - 1) - 1
    last[mn_idx: mx_idx] = [i + (new_v - old_v) for i in last[mn_idx: mx_idx]]
    mx_var = max(last[mn_idx: mx_idx], mx_var)
    return mx_var

for _ in range(m):
    index, new_value = map(int, input().split())
    out.append(update(index, new_value, mx))

for elem in out:
    print(elem)
SubtaskSumTestVerdictTimeMemory
base0/50
1Runtime error0/017ms2996 KiB
2Runtime error0/017ms3376 KiB
3Runtime error0/217ms3124 KiB
4Runtime error0/216ms3112 KiB
5Runtime error0/217ms3124 KiB
6Runtime error0/217ms3320 KiB
7Runtime error0/317ms3320 KiB
8Runtime error0/317ms3116 KiB
9Runtime error0/317ms3084 KiB
10Runtime error0/317ms3136 KiB
11Runtime error0/217ms3316 KiB
12Runtime error0/217ms3260 KiB
13Runtime error0/217ms3380 KiB
14Runtime error0/217ms3396 KiB
15Runtime error0/217ms3576 KiB
16Runtime error0/217ms3324 KiB
17Runtime error0/218ms3636 KiB
18Runtime error0/217ms3576 KiB
19Runtime error0/217ms3564 KiB
20Runtime error0/317ms3568 KiB
21Runtime error0/317ms3380 KiB
22Runtime error0/317ms3220 KiB
23Runtime error0/317ms3380 KiB