121412024-12-04 08:26:02dfehervariBináris fa magassága (50 pont)python3Időlimit túllépés 20/50600ms6016 KiB
def gyerek(cs,z):
   csúcsok[cs]+=változás
   if z>0:
       gyerek(2*cs,z-1)
       gyerek(2*cs+1,z-1)
#1. Bináris fa magassága
"""
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
csúcsok = [0,0] #Az adott csúcsba a gyökértől vezető út hossza
for k in range(1,n):
    for j in range(2**k):
        csúcsok.append(k)
        utak.append(1)
#print(csúcsok)
db = len(csúcsok)
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
    gyerek(cs,n-k) #Ide kell betenni,hogy hány szint van hátra
    #print(csúcsok)
    print(max(csúcsok))
"""
befájl.close()
"""
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/016ms3128 KiB
2Időlimit túllépés0/0587ms5500 KiB
3Elfogadva2/221ms2924 KiB
4Elfogadva2/223ms3128 KiB
5Elfogadva2/224ms3108 KiB
6Elfogadva2/221ms3156 KiB
7Elfogadva3/324ms3088 KiB
8Elfogadva3/328ms3128 KiB
9Elfogadva3/332ms2968 KiB
10Elfogadva3/332ms3164 KiB
11Időlimit túllépés0/2586ms4248 KiB
12Időlimit túllépés0/2600ms4272 KiB
13Időlimit túllépés0/2600ms4228 KiB
14Időlimit túllépés0/2583ms4224 KiB
15Időlimit túllépés0/2583ms4268 KiB
16Időlimit túllépés0/2600ms5504 KiB
17Időlimit túllépés0/2600ms5084 KiB
18Időlimit túllépés0/2588ms6016 KiB
19Időlimit túllépés0/2587ms5248 KiB
20Időlimit túllépés0/3600ms4224 KiB
21Időlimit túllépés0/3600ms4224 KiB
22Időlimit túllépés0/3584ms4416 KiB
23Időlimit túllépés0/3591ms4224 KiB