Pagini recente » Cod sursa (job #1648060) | Cod sursa (job #2287463) | Cod sursa (job #2329843) | Cod sursa (job #2471757) | Cod sursa (job #3210540)
#include <fstream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <unordered_map>
#include <stack>
#include <queue>
#include <cmath>
#include <cstdlib>
#include <set>
#include <chrono>
#include <iomanip>
//#define CONSOLE /// daca ai in consola
using namespace std;
ifstream fin("lantmaxim.in");
ofstream fout("lantmaxim.out");
#ifdef CONSOLE
#include <iostream>
#define fin cin
#define fout cout
#endif
int val[1001], st[1001], dr[1001], f[1001], dp[1001];
int dfs(int nod) {
dp[nod] = val[nod];
if (st[nod] != 0) dp[nod] += dfs(st[nod]);
if (dr[nod] != 0) dp[nod] += dfs(dr[nod]);
return dp[nod];
}
signed main(){
int n, r;
fin>>n;
for(int i=1;i<=n;i++){
int x,y;
fin>>val[i]>>st[i]>>dr[i];
f[st[i]]++;
f[dr[i]]++;
}
for(int i=1;i<=n;i++) if(f[i]==0) r=i;
dfs(r);
fout << abs(dp[st[r]] - dp[dr[r]]) << '\n';
return 0;
}