Cod sursa(job #3330582)

Utilizator coco11coraline kalbfleisch coco11 Data 20 decembrie 2025 11:51:13
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    freopen("sate.in","r",stdin);
    freopen("sate.out","w",stdout);
    int N,M,X,Y;cin>>N>>M>>X>>Y; N++;
    vector<pair<int,int>> adj[N];
    bool vis[N];
    for(int i=0;i<N;i++){
        vis[i]=false;
    }
    int n,a,b,d;
    for(int i=0;i<M;i++){
        cin>>a>>b>>d;
        adj[a].push_back({b,d});
        adj[b].push_back({a,-d});
    }
    queue<pair<int,int>> q;
    q.push({X,0});
    while(!q.empty()){
        n=q.front().first;d=q.front().second;
        q.pop();
        if(vis[n])continue;
        if(n==Y){
            cout<<d;
            return 0;
        }
        vis[n]=true;
        for(auto x: adj[n]){
            q.push({x.first,d+x.second});
        }
    }
}