92632024-02-19 14:09:04petergalambosBináris fa magassága (50 pont)python3Time limit exceeded 40/50541ms17368 KiB
from sys import stdin, stdout
def main():
    N, M = [int(i) for i in stdin.readline().split()]
    H = [N]
    E = [1]*(2**N)
    x = 1
    for i in range(N):
        H = H+[N-i-1]*x
        x *= 2
    
    for i in range(M):
        x,y = [int(i) for i in stdin.readline().split()]
        E[x] = y
        while x//2 != 0:
            if x%2 == 0:
                if E[x]+H[x] > E[x+1]+H[x+1]:
                    H[x//2] = E[x]+H[x]
                else:
                    H[x//2] = E[x+1]+H[x+1]
            else:
                if E[x]+H[x] > E[x-1]+H[x-1]:
                    H[x//2] = E[x]+H[x]
                else:
                    H[x//2] = E[x-1]+H[x-1]
            x = x//2
        stdout.write(str(H[1])+'\n')
main()
SubtaskSumTestVerdictTimeMemory
base40/50
1Accepted0/017ms11436 KiB
2Accepted0/0351ms14844 KiB
3Accepted2/220ms12116 KiB
4Accepted2/220ms12408 KiB
5Accepted2/220ms12656 KiB
6Accepted2/219ms12640 KiB
7Accepted3/321ms13200 KiB
8Accepted3/321ms13308 KiB
9Accepted3/321ms13500 KiB
10Accepted3/321ms13028 KiB
11Time limit exceeded0/2538ms16088 KiB
12Time limit exceeded0/2541ms16308 KiB
13Time limit exceeded0/2541ms16580 KiB
14Time limit exceeded0/2535ms16788 KiB
15Time limit exceeded0/2531ms16764 KiB
16Accepted2/2349ms16696 KiB
17Accepted2/2389ms16896 KiB
18Accepted2/2351ms17104 KiB
19Accepted2/2365ms17080 KiB
20Accepted3/3388ms17160 KiB
21Accepted3/3377ms17320 KiB
22Accepted3/3377ms17196 KiB
23Accepted3/3391ms17368 KiB