119932024-11-24 12:13:20banhelyiBináris fa magassága (50 pont)cpp17Időlimit túllépés 20/50592ms1016 KiB
#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

long int nagy(long int m,long int t[])
{
    long int legnagyobb = 0;
    for(long int i = 0; i< m; i++){
        if(t[i] > legnagyobb){
            legnagyobb = t[i];
        }
        //cout << t[i] << " " ;
    }
    //cout << endl;
    return legnagyobb;
}
int main()
{
    int n = 0;
    int m = 0;
    cin >> n;
    cin >> m;
    int a;
    int b;
    long int legnagyobb = 0;

    int *fa= new int[((long int)1 << n)-1];

    //cout<< ((long int)1 << n)-1 <<endl;

    for(long int i=0; i < ((long int)1 << n)-1; i++){
        fa[i] = 1;
    }

    long int *level=new long int[((long int)1 << (n-1))];


    for(long int i=0; i < ((long int)1 << (n-1)); i++){
        level[i] = n-1;
    }

    for(int i=0; i < m; i++){
        cin >> a;
        cin >> b;

        //cout << b << " " << fa[a-1] << " ";
        int valt = b - fa[a-1];

        fa[a-1] = b;
        int elso=a;
        int db=1;
        while (elso*2<((long int)1 << n)-1){
            elso*=2;
            db*=2;
        }
        //cout<<elso<<" " <<db << " " << valt << " " <<  elso-(int)pow(2,(n-1)) <<endl;
        for(long int j=0; j < db; j++){
            level[elso-((long int)1 << (n-1))+j] += valt;
        }
        cout << nagy(((long int)1 << (n-1)),level) << "\n";
    }


    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/01ms320 KiB
2Időlimit túllépés0/0579ms824 KiB
3Elfogadva2/23ms320 KiB
4Elfogadva2/23ms500 KiB
5Elfogadva2/22ms320 KiB
6Elfogadva2/23ms356 KiB
7Elfogadva3/33ms320 KiB
8Elfogadva3/33ms320 KiB
9Elfogadva3/33ms320 KiB
10Elfogadva3/33ms320 KiB
11Időlimit túllépés0/2587ms824 KiB
12Időlimit túllépés0/2587ms944 KiB
13Időlimit túllépés0/2587ms828 KiB
14Időlimit túllépés0/2589ms824 KiB
15Időlimit túllépés0/2587ms1012 KiB
16Időlimit túllépés0/2587ms1004 KiB
17Időlimit túllépés0/2587ms824 KiB
18Időlimit túllépés0/2591ms824 KiB
19Időlimit túllépés0/2578ms824 KiB
20Időlimit túllépés0/3578ms824 KiB
21Időlimit túllépés0/3578ms1016 KiB
22Időlimit túllépés0/3592ms944 KiB
23Időlimit túllépés0/3587ms824 KiB