Cod sursa(job #3369472)

Utilizator emanuel723emanuel emanuel723 Data 20 octombrie 2026 16:24:59
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("sate.in");
ofstream g("sate.out");

int n, m, X, Y;
vector<pair<int,int>> a[30005];   
long long d[30005];
bool viz[30005];

void bfs(int start)
{
    queue<int> q;
    q.push(start);
    viz[start] = true;
    d[start] = 0;
    while (!q.empty())
    {
        int nod = q.front();
        q.pop();
        for (auto e : a[nod])
        {
            int vecin = e.first, cost = e.second;
            if (!viz[vecin])
            {
                viz[vecin] = true;
                d[vecin] = d[nod] + cost;
                q.push(vecin);
            }
        }
    }
}

int main()
{
    f >> n >> m >> X >> Y;
    for (int k = 1; k <= m; k++)
    {
        int i, j, D;
        f >> i >> j >> D;
        a[i].push_back({j, D});    
        a[j].push_back({i, -D});   
    }
    bfs(X);
    g << llabs(d[Y]) << "\n";
    return 0;
}