Cod sursa(job #3371979)

Utilizator merdanovylham03@gmail.comMerdanov Ylham [email protected] Data 1 noiembrie 2026 23:41:04
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb

#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <utility>
#include <cstdlib>

using namespace std;

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

    int n, m, x, y;
    fin >> n >> m >> x >> y;

    vector<pair<int, int>> graf[30001];

    for (int k = 0; k < m; k++) {
        int a, b, d;
        fin >> a >> b >> d;

        graf[a].push_back({b, d});
        graf[b].push_back({a, -d});
    }

    int dist[30001] = {0};
    bool viz[30001] = {false};

    queue<int> q;
    q.push(x);
    viz[x] = true;

    while (!q.empty()) {
        int nod = q.front();
        q.pop();

        for (auto vecin : graf[nod]) {
            int v = vecin.first;
            int d = vecin.second;

            if (!viz[v]) {
                viz[v] = true;
                dist[v] = dist[nod] + d;
                q.push(v);
            }
        }
    }

    fout << abs(dist[y]) << '\n';

    fin.close();
    fout.close();

    return 0;
}