Cod sursa(job #3374021)

Utilizator Buzoianu_RobertBuzoianu Mircea Robert Buzoianu_Robert Data 8 noiembrie 2026 14:37:24
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <vector>
#include <fstream>
#include <queue>
using namespace std;

int main(){
    int N,M,X,Y;
    ifstream fin("sate.in");
    ofstream fout("sate.out");
    if(!fin.is_open()){
        fout<<"NU SE POATE DESCHIDE FISIERUL!"<<"\n";
        cout<<"NU SE POATE DESCHIDE FISIERUL!"<<"\n";
        N=M=X=Y=0;
        return 0;

    }
    fin>>N>>M>>X>>Y;
    vector<vector<pair<int,int>>>g(N+1);
    for(int k=0;k<M;k++){
        int i,j,d;
        fin>>i>>j>>d;
        g[i].push_back({j,d});
        g[j].push_back({i,-d});
    }
    vector<long long>poz(N+1,0);
    vector<bool>viz(N+1,false);

    queue<int> q;
    q.push(X);
    viz[X]=true;

    while(!q.empty()){
        int u=q.front();
        q.pop();
        for(auto[v,d]:g[u]){
            if(!viz[v]){
                viz[v]=true;
                poz[v]=poz[u]+d;
                q.push(v);
            }
        }
    }
fout<<abs(poz[Y])<<"\n";
return 0;


}