121492024-12-04 15:10:24dfehervariBináris fa magassága (50 pont)python3Időlimit túllépés 20/50600ms4956 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
    kezdet=cs*2**(n-k)-2**(n-1)
    vég=(cs+1)*2**(n-k)-2**(n-1)
    for j in range(kezdet,vég):
        levelek[j] += változás
        
    
    #print(levelek)
    print(max(levelek))

#befájl.close()

RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/016ms3128 KiB
2Időlimit túllépés0/0577ms4900 KiB
3Elfogadva2/223ms3132 KiB
4Elfogadva2/223ms3124 KiB
5Elfogadva2/223ms2980 KiB
6Elfogadva2/221ms2972 KiB
7Elfogadva3/323ms3128 KiB
8Elfogadva3/326ms3012 KiB
9Elfogadva3/328ms2988 KiB
10Elfogadva3/328ms3144 KiB
11Időlimit túllépés0/2587ms3992 KiB
12Időlimit túllépés0/2600ms4056 KiB
13Időlimit túllépés0/2600ms3812 KiB
14Időlimit túllépés0/2587ms4004 KiB
15Időlimit túllépés0/2582ms3876 KiB
16Időlimit túllépés0/2600ms4956 KiB
17Időlimit túllépés0/2598ms4820 KiB
18Időlimit túllépés0/2579ms4896 KiB
19Időlimit túllépés0/2583ms4900 KiB
20Időlimit túllépés0/3600ms4044 KiB
21Időlimit túllépés0/3600ms4052 KiB
22Időlimit túllépés0/3574ms3876 KiB
23Időlimit túllépés0/3584ms3876 KiB