121422024-12-04 08:31:17dfehervariBináris fa magassága (50 pont)pypy3Időlimit túllépés 20/50603ms29720 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/045ms19444 KiB
2Időlimit túllépés0/0586ms29048 KiB
3Elfogadva2/278ms21880 KiB
4Elfogadva2/287ms22964 KiB
5Elfogadva2/2112ms24044 KiB
6Elfogadva2/292ms22508 KiB
7Elfogadva3/3112ms24180 KiB
8Elfogadva3/3136ms24296 KiB
9Elfogadva3/3101ms22984 KiB
10Elfogadva3/393ms23216 KiB
11Időlimit túllépés0/2587ms28768 KiB
12Időlimit túllépés0/2589ms28908 KiB
13Időlimit túllépés0/2602ms28912 KiB
14Időlimit túllépés0/2586ms28908 KiB
15Időlimit túllépés0/2588ms28908 KiB
16Időlimit túllépés0/2588ms29288 KiB
17Időlimit túllépés0/2603ms29720 KiB
18Időlimit túllépés0/2593ms29004 KiB
19Időlimit túllépés0/2583ms29416 KiB
20Időlimit túllépés0/3583ms29172 KiB
21Időlimit túllépés0/3603ms28780 KiB
22Időlimit túllépés0/3588ms28908 KiB
23Időlimit túllépés0/3592ms28904 KiB