92622024-02-19 14:07:45petergalambosBináris fa magassága (50 pont)python3Időlimit túllépés 20/50587ms16800 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 input().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
        print(H[1])
    
##    stdout.write(str(max(H))+'\n')

main()
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/018ms11296 KiB
2Időlimit túllépés0/0569ms14708 KiB
3Elfogadva2/224ms11708 KiB
4Elfogadva2/224ms11920 KiB
5Elfogadva2/225ms12184 KiB
6Elfogadva2/225ms11912 KiB
7Elfogadva3/325ms12316 KiB
8Elfogadva3/325ms12588 KiB
9Elfogadva3/327ms12712 KiB
10Elfogadva3/326ms13044 KiB
11Időlimit túllépés0/2560ms6876 KiB
12Időlimit túllépés0/2563ms6916 KiB
13Időlimit túllépés0/2575ms7156 KiB
14Időlimit túllépés0/2564ms7220 KiB
15Időlimit túllépés0/2587ms7428 KiB
16Időlimit túllépés0/2535ms7696 KiB
17Időlimit túllépés0/2555ms16704 KiB
18Időlimit túllépés0/2546ms7960 KiB
19Időlimit túllépés0/2552ms16800 KiB
20Időlimit túllépés0/3568ms7812 KiB
21Időlimit túllépés0/3568ms7644 KiB
22Időlimit túllépés0/3550ms7544 KiB
23Időlimit túllépés0/3572ms7608 KiB