121482024-12-04 15:08:12dfehervariBináris fa magassága (50 pont)python3Time limit exceeded 20/50600ms4896 KiB
#1. Bináris fa magassága v.2.

#befájl = open("be1.txt")
#n,m=map(int,befájl.readline().split())
n,m=map(int,input().split())

#print(n,m)
#csúcsok feltöltése
utak =[0,0] #Az adott csúcsba a szülőtől vezető út hossza
levelek = [] #Az adott csúcsba a gyökértől vezető út hossza
for k in range(1,n):
    for j in range(2**k):
        utak.append(1)
for k in range(2**(n-1),2**n):
    levelek.append(n-1)
    
#print(utak, levelek)

for i in range(m):
    
    #cs, h = map(int,befájl.readline().split())
    
    cs, h = map(int,input().split())
    #print(cs,h)
    #Kell, hogy a csúcs hányadik szinten van
    k = 1
    while (cs//(2**k)) != 0:
        k=k+1
    változás = h - utak[cs]
    utak[cs]=h
    for j in range(cs*2**(n-k)-2**(n-1),(cs+1)*2**(n-k)-2**(n-1)):
        levelek[j] += változás
        
    
    #print(levelek)
    print(max(levelek))

#befájl.close()

SubtaskSumTestVerdictTimeMemory
base20/50
1Accepted0/016ms3116 KiB
2Time limit exceeded0/0577ms4892 KiB
3Accepted2/221ms3124 KiB
4Accepted2/223ms3124 KiB
5Accepted2/221ms3172 KiB
6Accepted2/221ms3128 KiB
7Accepted3/325ms3072 KiB
8Accepted3/326ms3140 KiB
9Accepted3/328ms3128 KiB
10Accepted3/327ms2944 KiB
11Time limit exceeded0/2600ms4060 KiB
12Time limit exceeded0/2600ms3872 KiB
13Time limit exceeded0/2600ms3884 KiB
14Time limit exceeded0/2577ms3876 KiB
15Time limit exceeded0/2586ms3920 KiB
16Time limit exceeded0/2600ms4896 KiB
17Time limit exceeded0/2600ms4896 KiB
18Time limit exceeded0/2589ms4896 KiB
19Time limit exceeded0/2589ms4896 KiB
20Time limit exceeded0/3600ms3872 KiB
21Time limit exceeded0/3600ms3856 KiB
22Time limit exceeded0/3584ms3872 KiB
23Time limit exceeded0/3584ms4044 KiB