Cod sursa(job #1899256)

Utilizator sandupetrascoPetrasco Sandu sandupetrasco Data 2 martie 2017 16:53:27
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <bits/stdc++.h>
#define IOS ios_base::sync_with_stdio(0);
#define tie cin.tie(0);
#define mp make_pair
#define ll long long
#define PII pair<int, int>
#define PLL pair<ll, ll>
#define inf 1000000000
#define zeros(x) ( (x ^ (x - 1)) & x )

using namespace std;

int n, m, x, y, z, in, sf;

vector < int > V[100100];
map < PII, int > M;
int rs;
bool v[100100];

void dfs(int x)
{
    v[x] = 1;
    for (auto it : V[x])
    {
        int semn = 1;
        if (!v[it])
        {
            if (it < x) semn = -1;
            rs += semn * M[mp(x, it)];
            dfs(it);
        }
    }
}


int main(){
    IOS tie
    ifstream cin("sate.in");
    ofstream cout("sate.out");
    cin >> n >> m >> in >> sf;
    for (int i = 1; i < n; i++)
    {
        cin >> x >> y >> z;
        V[x].push_back(y);
        V[y].push_back(x);
        M[mp(x, y)] = z;
        M[mp(y, x)] = z;
    }
    dfs(in);
	cout << rs;
	cerr << "Fucking time elapsed: " << clock() * 1000.0 / CLOCKS_PER_SEC << " ms" << '\n';
    return 0;
}