122262024-12-10 07:35:51madvirBináris fa magassága (50 pont)cpp17Időlimit túllépés 20/50600ms780 KiB
#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
    int n, m, x, y, maxut;
    cin >> n >> m;
    vector<int> mag;
    int fel[65537];
    fill_n(fel,65537,1);
    int q=pow(2,n-1), w=pow(2, n), ut;
    for(int i=0; i<m; i++) {
        cin >> x >> y;
        fel[x]=y;
        maxut=0;
        for(int j=q; j<w; j++) {
            x=j;
            ut=0;
            //cout << "j=" << j << endl;
            while(x!=1) {
                ut+=fel[x];
                //cout << "ut=" <<ut << ", ";
                x=(x-x%2)/2;
                //cout << "x=" << x << endl;
            }
            if(ut>maxut) {
                maxut=ut;
            }
        }
        mag.push_back(maxut);
    }
    for(vector<int>::iterator ptr=mag.begin(); ptr!=mag.end(); ptr++) {
        cout << *ptr << endl;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/01ms756 KiB
2Időlimit túllépés0/0586ms568 KiB
3Elfogadva2/23ms756 KiB
4Elfogadva2/23ms756 KiB
5Elfogadva2/23ms760 KiB
6Elfogadva2/23ms568 KiB
7Elfogadva3/33ms568 KiB
8Elfogadva3/34ms568 KiB
9Elfogadva3/34ms664 KiB
10Elfogadva3/34ms568 KiB
11Időlimit túllépés0/2598ms568 KiB
12Időlimit túllépés0/2600ms636 KiB
13Időlimit túllépés0/2597ms652 KiB
14Időlimit túllépés0/2583ms568 KiB
15Időlimit túllépés0/2589ms748 KiB
16Időlimit túllépés0/2593ms568 KiB
17Időlimit túllépés0/2600ms568 KiB
18Időlimit túllépés0/2592ms572 KiB
19Időlimit túllépés0/2569ms780 KiB
20Időlimit túllépés0/3600ms648 KiB
21Időlimit túllépés0/3600ms568 KiB
22Időlimit túllépés0/3587ms748 KiB
23Időlimit túllépés0/3583ms568 KiB