Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: kavin8888

Problemset: สมดุลย์

Language: cpp

Time: 0.002 second

Submitted On: 2026-01-04 07:57:16

#include<bits/stdc++.h> 
using namespace std;
#define int long long
int n,ans=0;
const int MAX_N=1005;
vector<int> a(MAX_N),l(MAX_N),b(MAX_N),r(MAX_N);
int dfs(int i) {
	int lw,rw;
	if(a[i]==1) lw=l[i];
	else lw=dfs(l[i]);
	if(b[i]==1) rw=r[i];
	else rw=dfs(r[i]);
	ans+=llabs(lw-rw);
	return 2*max(lw,rw);
}
signed main(void) {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin>>n;
	for(int i=1;i<=n;++i) cin>>a[i]>>l[i]>>b[i]>>r[i];
	dfs(1);
	cout<<ans<<'\n';
	return 0;
}