92632024-02-19 14:09:04petergalambosBináris fa magassága (50 pont)python3Időlimit túllépés 40/50541ms17368 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 stdin.readline().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
        stdout.write(str(H[1])+'\n')
main()
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/50
1Elfogadva0/017ms11436 KiB
2Elfogadva0/0351ms14844 KiB
3Elfogadva2/220ms12116 KiB
4Elfogadva2/220ms12408 KiB
5Elfogadva2/220ms12656 KiB
6Elfogadva2/219ms12640 KiB
7Elfogadva3/321ms13200 KiB
8Elfogadva3/321ms13308 KiB
9Elfogadva3/321ms13500 KiB
10Elfogadva3/321ms13028 KiB
11Időlimit túllépés0/2538ms16088 KiB
12Időlimit túllépés0/2541ms16308 KiB
13Időlimit túllépés0/2541ms16580 KiB
14Időlimit túllépés0/2535ms16788 KiB
15Időlimit túllépés0/2531ms16764 KiB
16Elfogadva2/2349ms16696 KiB
17Elfogadva2/2389ms16896 KiB
18Elfogadva2/2351ms17104 KiB
19Elfogadva2/2365ms17080 KiB
20Elfogadva3/3388ms17160 KiB
21Elfogadva3/3377ms17320 KiB
22Elfogadva3/3377ms17196 KiB
23Elfogadva3/3391ms17368 KiB