132542025-01-07 10:59:19gyjazminBináris fa magassága (50 pont)cpp17Időlimit túllépés 20/50600ms864 KiB
#include <vector>
#include <iostream>
#include <cmath>
using namespace std;
int n, m,maxi;
vector<int> f;
void szamol(int k,int sz) {
    if (k * 2 < pow(2, n)) {
        szamol(k * 2, sz + f[k]);
        szamol(k * 2 + 1, sz + f[k]);
    }
    else {
        if (sz + f[k] > maxi) maxi = sz + f[k];
    }
}
int main()
{
    cin >> n >> m;
    f.resize(pow(2, n), 1);
    maxi = n-1;
    for (int i = 0; i < m; i++) {
        int cs = 0, h = 0;
        cin >> cs >> h;
        f[cs] = h;
        szamol(2,0);
        szamol(3, 0);
        cout << maxi << endl;
        maxi = n - 1;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/01ms316 KiB
2Időlimit túllépés0/0583ms564 KiB
3Elfogadva2/23ms316 KiB
4Elfogadva2/23ms316 KiB
5Elfogadva2/23ms316 KiB
6Elfogadva2/23ms316 KiB
7Elfogadva3/34ms316 KiB
8Elfogadva3/37ms316 KiB
9Elfogadva3/310ms316 KiB
10Elfogadva3/310ms316 KiB
11Időlimit túllépés0/2600ms564 KiB
12Időlimit túllépés0/2598ms564 KiB
13Időlimit túllépés0/2600ms564 KiB
14Időlimit túllépés0/2583ms564 KiB
15Időlimit túllépés0/2589ms864 KiB
16Időlimit túllépés0/2600ms748 KiB
17Időlimit túllépés0/2600ms564 KiB
18Időlimit túllépés0/2588ms564 KiB
19Időlimit túllépés0/2578ms564 KiB
20Időlimit túllépés0/3600ms564 KiB
21Időlimit túllépés0/3600ms564 KiB
22Időlimit túllépés0/3591ms564 KiB
23Időlimit túllépés0/3584ms564 KiB