130222025-01-04 18:02:34SRobBináris fa magassága (50 pont)cpp17Időlimit túllépés 20/50600ms1012 KiB
// binaris_fa_magassaga_2024_12_29.cpp : Defines the entry point for the console application.
//

//#include "stdafx.h"

#include <vector>
#include <algorithm>
#include <iostream>
#include <cmath>

using namespace std;



int main()
{
	
	int size,O;
	size = 0;
	O = 0;
	int mE,V;
	cin >> size >> O;
	int edges[100000];
	int nodes[100000];
	
	
	int x; // while segéd
	for (int i = 1; i < pow(2, size); i++)
	{
		nodes[i] = size-floor(log2(i))-1;
		edges[i] = 1;
	}
	edges[0] = 0;
	edges[1] = 0;
	for (int i = 0; i < O; i++)
	{
		cin >> mE >> V;
		edges[mE] = V;
		for (int j = pow(2, size-1); j < pow(2, size); j += 2)
		{
			x = j;
			while (x != 1)
			{
				
				if(x % 2 == 0)
				{
  				nodes[x/2] = max((edges[x] + nodes[x]), (edges[x+1]+nodes[x+1]));
  				//cout<<"x: "<< x << "  vizsgált edge pár: " << x <<" "<<x+1<<"  vizsgált node pár: "<<nodes[x]<<" "<<nodes[x+1] <<"  a(z) "<<(x/2)<< ". változtatott node értéke: "<<nodes[x/2]<<endl;
  				x = x/2;
				}
				else
				{
				  nodes[x/2] = max((edges[x] + nodes[x]), (edges[x-1]+nodes[x-1]));
  				//cout<<"x: "<< x << "  vizsgált edge pár: " << x <<" "<<x+1<<"  vizsgált node pár: "<<nodes[x]<<" "<<nodes[x+1] <<"  a(z) "<<(x/2)<< ". változtatott node értéke: "<<nodes[x/2]<<endl;
  				x = x/2;
				}
			}
		}
		cout<< nodes[1] <<endl;
	}
	
}
  

	
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/01ms320 KiB
2Időlimit túllépés0/0584ms836 KiB
3Elfogadva2/23ms320 KiB
4Elfogadva2/23ms500 KiB
5Elfogadva2/23ms320 KiB
6Elfogadva2/23ms356 KiB
7Elfogadva3/34ms500 KiB
8Elfogadva3/34ms508 KiB
9Elfogadva3/36ms320 KiB
10Elfogadva3/36ms320 KiB
11Időlimit túllépés0/2600ms824 KiB
12Időlimit túllépés0/2598ms868 KiB
13Időlimit túllépés0/2600ms824 KiB
14Időlimit túllépés0/2580ms824 KiB
15Időlimit túllépés0/2589ms824 KiB
16Időlimit túllépés0/2600ms824 KiB
17Időlimit túllépés0/2600ms824 KiB
18Időlimit túllépés0/2584ms1012 KiB
19Időlimit túllépés0/2598ms824 KiB
20Időlimit túllépés0/3600ms936 KiB
21Időlimit túllépés0/3598ms836 KiB
22Időlimit túllépés0/3582ms824 KiB
23Időlimit túllépés0/3588ms824 KiB