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;
}