Cod sursa(job #3374560)

Utilizator badiumihneaBadiu Mihnea badiumihnea Data 9 noiembrie 2026 02:13:08
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>
std::ifstream fin("sate.in");
std::ofstream fout("sate.out");

std::bitset<100001> visited;
std::vector<std::vector<std::pair<int, int>>> graph;
std::vector<int> dist;

int main() {
    int n, m, x, y;
    fin>>n>>m>>x>>y;
    graph.resize(n+1);
    dist.resize(n+1);
    for (int i=1; i<=m; i++) {
        int a,b,d;
        fin>>a>>b>>d;
        graph[a].push_back({b,d});
        graph[b].push_back({a, -d});
    }

    std::queue<int> q;
    q.push(x);
    visited[x] = true;
    dist[x] = 0;
    while (!q.empty()) {
        int node = q.front();
        q.pop();
        for (std::pair<int, int> next: graph[node]) {
            int v = next.first;
            int cost = next.second;
            if (!visited[v]) {
                visited[v]= true;
                dist[v] = dist[node] + cost;
                q.push(v);
            }
        }
    }

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