Cod sursa(job #3338971)

Utilizator Andrada_MincaAndrada Minca Andrada_Minca Data 5 februarie 2026 16:28:56
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
//
//  main.cpp
//  Sate
//
//  Created by Andrada Minca on 05.02.2026.
//

#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream cin("sate.in");
ofstream cout("sate.out");
const int MAXN = 30005;
vector<pair<int, int>> adj[MAXN];
bool visited[MAXN];
long long pos[MAXN];
int main()
{
    int N,M,X,Y;
    cin>>N>>M>>X>>Y;
    for(int k=0;k<M;k++)
    {
        int i,j,D;
        cin>>i>>j>>D;
        adj[i].push_back({j,D});
        adj[j].push_back({i,-D});
    }
    queue<int> q;
    q.push(X);
    visited[X]=true;
    pos[X]=0;

    while(!q.empty())
    {
        int u=q.front();
        q.pop();
        for(auto[v, w]:adj[u])
        {
            if(!visited[v])
            {
                visited[v]=true;
                pos[v]=pos[u]+w;
                q.push(v);
            }
        }
    }
    cout<<llabs(pos[Y])<<'\n';
    return 0;
}