89452024-02-07 15:11:15AncsaBináris fa magassága (50 pont)cpp17Futási hiba 8/506ms5528 KiB
#include <iostream>
#include <cmath>
#include <bits/stdc++.h>

using namespace std;

/*
3 5
2 6
4 3
6 7
5 4
2 1


*/

int main()
{
    int n;
    cin>>n;
    int lszam=(1<<n-1), szam=(1<<n);
    vector <int> halmaz;
    vector <long long int> fa(szam);
    vector <long long int> levelek(lszam+1);
    for(int i=0;i<=lszam;i++)
         levelek.at(i)=n-1;
    long long int legnagyobb=n-1;
    fa.at(1)=0;
    for (int i=2;i<szam;i++)
        fa.at(i)=1;
    int muv;
    cin>>muv;
    //vector<int> kimenet(muv);
    vector <int> hatar{1,2,4,8,16,62,64,128,512,1024,2048,4096,8192,16384,32768,65536,131072};
    int hol, mire;
    for (int i=0;i<muv;i++)
    {
        bool rendezni = false;
        cin>>hol>>mire;
        int szint=1;
        while(hol>=hatar.at(szint))
        {
            szint++;
        }
        int tav=n-szint;
        int valt=mire-fa.at(hol);
        fa.at(hol)=mire;
        for(int i=(hol<<tav)-(lszam-1);i<=((hol+1)<<tav)-lszam;i++)
          if(valt != 0)
          {
              if (valt<0 && levelek.at(i)==legnagyobb)
                 rendezni=true;
              levelek.at(i)+=valt;
              if (valt>0 && levelek.at(i)>legnagyobb)
                 legnagyobb=levelek.at(i);

          }
        if (rendezni)
          legnagyobb=*max_element(levelek.begin(),levelek.end());

        cout<<legnagyobb<<endl;
    }
    /*
    */
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/50
1Elfogadva0/03ms1804 KiB
2Futási hiba0/06ms4144 KiB
3Elfogadva2/24ms2496 KiB
4Elfogadva2/24ms2348 KiB
5Elfogadva2/24ms2420 KiB
6Elfogadva2/24ms2808 KiB
7Futási hiba0/34ms3584 KiB
8Futási hiba0/34ms3328 KiB
9Futási hiba0/34ms3336 KiB
10Futási hiba0/34ms3592 KiB
11Futási hiba0/26ms5084 KiB
12Futási hiba0/26ms5212 KiB
13Futási hiba0/26ms5296 KiB
14Futási hiba0/26ms5480 KiB
15Futási hiba0/26ms5372 KiB
16Futási hiba0/26ms5420 KiB
17Futási hiba0/26ms5528 KiB
18Futási hiba0/26ms5516 KiB
19Futási hiba0/26ms5448 KiB
20Futási hiba0/36ms5444 KiB
21Futási hiba0/36ms5392 KiB
22Futási hiba0/36ms5388 KiB
23Futási hiba0/36ms5388 KiB