Cod sursa(job #3374553)

Utilizator RDS1208Rosu David Stefan RDS1208 Data 9 noiembrie 2026 02:08:58
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

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

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

    vector<vector<pair<int,int>>> graf(n+1);

    for (int i=0; i<m; i++) {

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

    vector<int> dist(n+1,0);
    vector<bool> viz(n+1,false);

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

    while (!q.empty()) {

        int nod = q.front();
        q.pop();

        for (auto [vecin,d] : graf[nod]) {
            if (!viz[vecin]) {
                viz[vecin] = true;
                q.push(vecin);
                dist[vecin] = dist[nod] + d;
            }
        }
    }

    fout<< abs(dist[y]);
}