130212025-01-04 18:00:02SRobBináris fa magassága (50 pont)cpp17Időlimit túllépés 20/50600ms1268 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];
	fill(edges, edges+ 100000,1);
	fill(nodes, nodes+ 100000,0);
	edges[0] = 0;
	edges[1] = 0;
	int x; // while segéd
	for (int i = 1; i < pow(2, size); i++)
	{
		nodes[i] = size-floor(log2(i))-1;
	}
	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/02ms1080 KiB
2Időlimit túllépés0/0570ms1264 KiB
3Elfogadva2/24ms1080 KiB
4Elfogadva2/24ms1256 KiB
5Elfogadva2/24ms1268 KiB
6Elfogadva2/24ms1080 KiB
7Elfogadva3/34ms1080 KiB
8Elfogadva3/34ms1156 KiB
9Elfogadva3/37ms1268 KiB
10Elfogadva3/37ms1080 KiB
11Időlimit túllépés0/2600ms1080 KiB
12Időlimit túllépés0/2600ms1080 KiB
13Időlimit túllépés0/2600ms1180 KiB
14Időlimit túllépés0/2583ms1080 KiB
15Időlimit túllépés0/2587ms1080 KiB
16Időlimit túllépés0/2600ms1080 KiB
17Időlimit túllépés0/2598ms1180 KiB
18Időlimit túllépés0/2587ms1080 KiB
19Időlimit túllépés0/2592ms1080 KiB
20Időlimit túllépés0/3600ms1080 KiB
21Időlimit túllépés0/3600ms1080 KiB
22Időlimit túllépés0/3577ms1268 KiB
23Időlimit túllépés0/3587ms1080 KiB