Cod sursa(job #3373796)

Utilizator ThoughtfulScholarCalin Andrei Razvan ThoughtfulScholar Data 7 noiembrie 2026 22:08:23
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <vector>

using namespace std;

const int MAXN = 30005;

struct Muchie {
    int nod;
    int dist;
};

vector<Muchie> g[MAXN];
int viz[MAXN];
long long d[MAXN];

void dfs(int nod, long long dist_curenta) {
    viz[nod] = 1;
    d[nod] = dist_curenta;
    for (const auto& vecin : g[nod]) {
        if (!viz[vecin.nod]) {
            dfs(vecin.nod, dist_curenta + vecin.dist);
        }
    }
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n, m, x, y;
    if (!(cin >> n >> m >> x >> y)) return 0;

    for (int k = 0; k < m; ++k) {
        int i, j, dist;
        cin >> i >> j >> dist;
        g[i].push_back({j, dist});
        g[j].push_back({i, -dist});
    }

    dfs(x, 0);

    cout << d[y] << "\n";

    return 0;
}