135412025-01-08 09:35:28csdavidBináris fa magassága (50 pont)cpp17Elfogadva 50/50112ms1080 KiB
#include <iostream>
#include <cmath>
using namespace std;

struct csucs{
    int hossz=1, magassag;
    int osszeg(){
        return hossz+magassag;
    }
};

int main()
{
    int n, ag, uj;
    cin >> n;
    n=pow(2, n);
    csucs a[n];
    for(int i=n-1; i>0; i--){
        a[i].hossz=1;
        if(i*2>=n){
            a[i].magassag=0;
        }
        else{
            a[i].magassag=max(a[i*2].osszeg(), a[i*2+1].osszeg());
        }
    }
    int k;
    cin >> k;
    while(k--){
        cin >> ag >> uj;
        a[ag].hossz=uj;
        ag=ag/2;
        while(ag>0){
            a[ag].magassag=max(a[ag*2].osszeg(), a[ag*2+1].osszeg());
            ag=ag/2;
        }
        cout << a[1].magassag << '\n';
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/0104ms1076 KiB
3Elfogadva2/23ms500 KiB
4Elfogadva2/23ms316 KiB
5Elfogadva2/23ms316 KiB
6Elfogadva2/23ms316 KiB
7Elfogadva3/33ms316 KiB
8Elfogadva3/33ms316 KiB
9Elfogadva3/33ms316 KiB
10Elfogadva3/33ms316 KiB
11Elfogadva2/2108ms924 KiB
12Elfogadva2/2108ms936 KiB
13Elfogadva2/2112ms920 KiB
14Elfogadva2/2107ms1076 KiB
15Elfogadva2/2108ms824 KiB
16Elfogadva2/2104ms1076 KiB
17Elfogadva2/2109ms964 KiB
18Elfogadva2/2101ms1076 KiB
19Elfogadva2/2104ms1076 KiB
20Elfogadva3/3104ms1080 KiB
21Elfogadva3/3108ms1076 KiB
22Elfogadva3/3104ms1076 KiB
23Elfogadva3/397ms1076 KiB