149862025-02-10 19:37:19iSamu7598Bináris fa magassága (50 pont)cpp17Időlimit túllépés 20/50584ms820 KiB
#include <iostream>
#include <cmath>
using namespace std;
int n, k;
int v[70000];
int KettoAzNediken;
void valtozas (int melyik, int valto){
v[melyik]=v[melyik]+valto;
if(2*melyik<KettoAzNediken){
    valtozas(2*melyik, valto);
    valtozas(2*melyik+1, valto);
}
}

int main()
{
    cin>>n>>k;
KettoAzNediken=pow(2, n);
    v[1]=0;
    for(int i=2; i<=KettoAzNediken; i++){
        v[i]=v[i/2]+1;

    }
int melyik, mennyi;
for(int i=1; i<=k; i++){
    cin>>melyik>>mennyi;
    int valto=mennyi-(v[melyik]-v[melyik/2]);
    valtozas(melyik, valto);
    int maxi=0;
    for(int i=1; i<KettoAzNediken; i++){
    maxi=max(maxi, v[i]);
}
cout<<maxi<<endl;
}


    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/01ms316 KiB
2Időlimit túllépés0/0579ms820 KiB
3Elfogadva2/23ms316 KiB
4Elfogadva2/23ms316 KiB
5Elfogadva2/23ms316 KiB
6Elfogadva2/23ms316 KiB
7Elfogadva3/33ms316 KiB
8Elfogadva3/33ms316 KiB
9Elfogadva3/33ms316 KiB
10Elfogadva3/33ms316 KiB
11Időlimit túllépés0/2579ms820 KiB
12Időlimit túllépés0/2579ms812 KiB
13Időlimit túllépés0/2579ms820 KiB
14Időlimit túllépés0/2583ms820 KiB
15Időlimit túllépés0/2582ms820 KiB
16Időlimit túllépés0/2582ms816 KiB
17Időlimit túllépés0/2582ms668 KiB
18Időlimit túllépés0/2578ms820 KiB
19Időlimit túllépés0/2583ms668 KiB
20Időlimit túllépés0/3583ms776 KiB
21Időlimit túllépés0/3584ms700 KiB
22Időlimit túllépés0/3578ms668 KiB
23Időlimit túllépés0/3580ms816 KiB