89362024-02-06 00:51:00AncsaBináris fa magassága (50 pont)cpp17Time limit exceeded 26/50600ms4596 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=pow(2,n-1), szam=2*lszam;
    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);

    int hol, mire;
    for (int i=0;i<muv;i++)
    {
        bool rendezni = false;
        cin>>hol>>mire;
        int szint =(int)log2(hol)+1;
        int tav=n-szint;
        int valt=mire-fa.at(hol);
        fa.at(hol)=mire;
        for(int i=hol*pow(2,tav)-(lszam-1);i<=(hol+1)*pow(2,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<<"A levelek tartalma: "<<endl;
        for(int i=1;i<lszam+1;i++)
        {
            cout<<levelek.at(i)<<"  ";
        }
      */
        //kimenet.at(i)=legnagyobb;
        cout<<legnagyobb<<endl;
    }
    /*
    */
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base26/50
1Accepted0/03ms1812 KiB
2Time limit exceeded0/0600ms2104 KiB
3Accepted2/24ms2112 KiB
4Accepted2/24ms2192 KiB
5Accepted2/24ms2320 KiB
6Accepted2/24ms2524 KiB
7Accepted3/34ms2740 KiB
8Accepted3/34ms2948 KiB
9Accepted3/34ms3036 KiB
10Accepted3/34ms3064 KiB
11Accepted2/2210ms4392 KiB
12Accepted2/2326ms4388 KiB
13Accepted2/2432ms4512 KiB
14Time limit exceeded0/2523ms4596 KiB
15Time limit exceeded0/2564ms3224 KiB
16Time limit exceeded0/2558ms3296 KiB
17Time limit exceeded0/2552ms3476 KiB
18Time limit exceeded0/2573ms3408 KiB
19Time limit exceeded0/2564ms3524 KiB
20Time limit exceeded0/3569ms3752 KiB
21Time limit exceeded0/3564ms3624 KiB
22Time limit exceeded0/3554ms3612 KiB
23Time limit exceeded0/3549ms3596 KiB