100772024-03-26 16:18:20111Energiatakarékos ellenőrzéscpp17Elfogadva 100/10071ms56572 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
#ifndef ONLINE_JUDGE
	freopen("be1.txt","r",stdin);
#endif
	int N;
	cin>>N;
	vector<vector<int>>g(N+1);
	for(int i=0;i<N-1;i++){
		int a,b;
		cin>>a>>b;
		g[a].push_back(b);
		g[b].push_back(a);
	}
	vector<int>s(N+1),a(N+1),b(N+1),c(N+1);
	auto dfs=[&](auto self,int i)->void{
		s[i]=1;
		for(int j:g[i]){
			if(s[j]){
				continue;
			}
			self(self,j);
			s[i]+=s[j];
			c[i]+=c[j];
			int x=b[j]+s[j]*2+c[j];
			int y=a[j]+8;
			if(y<x){
				a[i]+=y;
				c[i]+=4;
			}
			else{
				a[i]+=x;
			}
			b[i]+=min(x,y);
		}
	};
	dfs(dfs,1);
	cout<<a[1]<<'\n';
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1956 KiB
2Elfogadva59ms21484 KiB
subtask25/5
3Elfogadva41ms22688 KiB
4Elfogadva41ms23676 KiB
5Elfogadva41ms24504 KiB
6Elfogadva41ms25396 KiB
7Elfogadva41ms26400 KiB
subtask315/15
8Elfogadva3ms8016 KiB
9Elfogadva3ms7944 KiB
10Elfogadva3ms7948 KiB
11Elfogadva2ms7916 KiB
12Elfogadva2ms7956 KiB
13Elfogadva3ms7960 KiB
14Elfogadva3ms8188 KiB
subtask415/15
15Elfogadva2ms8180 KiB
16Elfogadva3ms8312 KiB
17Elfogadva2ms8396 KiB
18Elfogadva3ms8528 KiB
19Elfogadva3ms8620 KiB
20Elfogadva3ms8620 KiB
21Elfogadva3ms8624 KiB
subtask565/65
22Elfogadva57ms28020 KiB
23Elfogadva57ms29196 KiB
24Elfogadva61ms30660 KiB
25Elfogadva61ms32044 KiB
26Elfogadva57ms33216 KiB
27Elfogadva70ms50872 KiB
28Elfogadva71ms56572 KiB
29Elfogadva65ms45416 KiB
30Elfogadva68ms42016 KiB
31Elfogadva64ms39756 KiB
32Elfogadva61ms40492 KiB
33Elfogadva61ms41532 KiB
34Elfogadva50ms43292 KiB
35Elfogadva46ms44428 KiB
36Elfogadva46ms45604 KiB
37Elfogadva50ms47432 KiB
38Elfogadva52ms48836 KiB
39Elfogadva56ms49956 KiB
40Elfogadva54ms51244 KiB