Cod sursa(job #3372484)

Utilizator nic150Musat Nicoleta nic150 Data 4 noiembrie 2026 00:52:56
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.84 kb
#include<iostream>
#include<utility>
#include<vector>
#include<fstream>
#include<queue>

using namespace std;

int main(){

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

    int X,Y,N,M,d,nod;
    f>>N>>M>>X>>Y;

    vector<vector<pair<int,int>>> mat(N+1);
    vector<bool> vizitat(N+1,false);
    vector<int> dist(N+1,0);

    for(int i=0;i<M;i++){
        int a,b;
        f>>a>>b>>d;
        mat[a].push_back({b,d});
        mat[b].push_back({a,-d});
    }

    queue<int> q;

    q.push(X);
    while(!q.empty()){
        nod=q.front();
        q.pop();
        vizitat[nod]=true;
        for(auto [a,b] : mat[nod]){
            if(!vizitat[a]){
            q.push(a);
            dist[a]=dist[nod]+b;
        }
        
        }
    }
    
    g<<dist[Y];
    f.close(); g.close();
    return 0;
}