Cod sursa(job #3374585)

Utilizator anastasia.sAnastasia anastasia.s Data 9 noiembrie 2026 02:52:25
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <vector>
#include <fstream>

using namespace std;

#define NMax 30005

vector<pair<int, int>> g[NMax];
int dist[NMax];
bool viz[NMax];

void dfs(int nod) {
    viz[nod] = true;

    for (auto muchie : g[nod]) {
        int vecin = muchie.first;
        int cost = muchie.second;

        if (viz[vecin] == false) {
            dist[vecin] = dist[nod] + cost;
            
            dfs(vecin);
        }
    }
}

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

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

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

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

    dist[x] = 0;
    dfs(x);

    int rez = dist[y];
    if (rez < 0) 
        rez = -rez;

    fout << rez;

    return 0;
}