Cod sursa(job #3372218)

Utilizator lucainfoOlteanu Luca lucainfo Data 2 noiembrie 2026 19:10:04
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

struct Muchie {
    int vecin;
    int cost;
};

vector<vector<Muchie>> adj;
vector<int> dist;
vector<bool> viz;

void dfs(int nod) {
    viz[nod] = true;
    for (auto& m : adj[nod]) {
        if (!viz[m.vecin]) {
            dist[m.vecin] = dist[nod] + m.cost;
            dfs(m.vecin);
        }
    }
}

int main() {
    int N, M, X, Y;
    fin >> N >> M >> X >> Y;

    adj.resize(N + 5);
    dist.resize(N + 5, 0);
    viz.resize(N + 5, false);

    for (int i = 0; i < M; ++i) {
        int u, v, d;
        fin >> u >> v >> d;

        if (u > v) {
            swap(u, v);
        }

        adj[u].push_back({v, d});
        adj[v].push_back({u, -d});
    }

    dfs(X);

    fout << dist[Y] << "\n";
    return 0;
}