8547 2024. 01. 21 18:50:33 HorakZsofi Bináris fa magassága (50 pont) cpp17 Elfogadva 50/50 120ms 5300 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int>plusz;
vector<int>maxi;
long long fuggveny(int x) {
	maxi[x]=max(maxi[2*x]+plusz[2*x], maxi[2*x+1]+plusz[2*x+1]);
	if(x==1){
		return maxi[1]+plusz[1];
	}else{
		return fuggveny(x/2);
	}
}
int main() {
	int n, t;
	cin>>n>>t;
	plusz.resize((1<<n), 0);
	maxi.resize((1<<n), 0);

	for(int i=2; i<(1<<n); i++){
		plusz[i]++;
		
			fuggveny(i/2);
		
	}
	for(int i=0; i<t; i++){
		int a, b;
		cin>>a>>b;
		plusz[a]=b;
		cout<<fuggveny(a/2)<<endl;
	}

}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 2020 KiB
2 Elfogadva 0/0 81ms 3000 KiB
3 Elfogadva 2/2 4ms 2292 KiB
4 Elfogadva 2/2 4ms 2292 KiB
5 Elfogadva 2/2 4ms 2420 KiB
6 Elfogadva 2/2 4ms 2660 KiB
7 Elfogadva 3/3 4ms 2844 KiB
8 Elfogadva 3/3 4ms 2912 KiB
9 Elfogadva 3/3 4ms 2888 KiB
10 Elfogadva 3/3 4ms 3012 KiB
11 Elfogadva 2/2 104ms 4056 KiB
12 Elfogadva 2/2 87ms 4268 KiB
13 Elfogadva 2/2 86ms 4484 KiB
14 Elfogadva 2/2 120ms 4704 KiB
15 Elfogadva 2/2 86ms 4780 KiB
16 Elfogadva 2/2 82ms 4780 KiB
17 Elfogadva 2/2 82ms 4780 KiB
18 Elfogadva 2/2 83ms 4884 KiB
19 Elfogadva 2/2 82ms 4880 KiB
20 Elfogadva 3/3 85ms 4880 KiB
21 Elfogadva 3/3 82ms 5004 KiB
22 Elfogadva 3/3 85ms 5092 KiB
23 Elfogadva 3/3 82ms 5300 KiB