Cod sursa(job #3372756)

Utilizator ioanaghisoiuGhiosiu Ioana-Diana ioanaghisoiu Data 4 noiembrie 2026 21:38:20
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
const int NMAX = 30005;
int n, m, x, y, d, a, b;
vector<vector<pair<int, int>>> graph;
bitset<NMAX> used;
vector<int>dist;

void bfs(int node) {
    queue<int>q;
    q.push(node);
    used[node] = 1;
    dist[node] = 0;

    while(!q.empty()) {

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

    
        for(auto edge : graph[current]) {
            int next = edge.first;
            int distance = edge.second;

            if(!used[next]) {
                dist[next]=dist[current]+distance;
                used[next] = 1;
                q.push(next);
            }
        }
    }
}

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

    bfs(x);

    g << abs(dist[y]) << '\n';
 
    return 0;
}