Cod sursa(job #3164333)

Utilizator davidenko22Stancu David-Andrei davidenko22 Data 2 noiembrie 2023 19:26:41
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX = 3e5 + 2;
int n, m, x, y, a, b, c, d[NMAX], vf[NMAX];
vector<pair<int, int>> v[NMAX];

ifstream fin("sate.in");
ofstream fout("sate.out");

void dfs(int nod) {
    vf[nod] = 1;
    for (auto [vecin, cost] : v[nod]) {
      if (vf[vecin])
        continue;
      d[vecin] = d[nod]+cost;
      dfs(vecin);
    }
}

int main()
{
    fin >> n >> m >> x >> y;
    if (x > y) {
      swap(x, y);
    }
    for (int i = 1; i <= m; i++) {
      fin >> a >> b >> c;
      v[a].push_back({b, c});
      v[b].push_back({a, -c});
    }
    dfs(x);
    fout << d[y];
    return 0;
}