Cod sursa(job #3370692)

Utilizator alexandra8Bratan Alexandra alexandra8 Data 26 octombrie 2026 21:01:13
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include<vector>
#include<queue>


using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int n,m,x,y;
vector<vector<pair<int,int>>>adj;
vector<int>dist;
vector<int>viz;

void BFS(int source) {
    queue<int> q;
    q.push(source);
    dist[source]=0;
    viz[source]=1;
    while(!q.empty()) {
        int nod=q.front();
        q.pop();
        for(auto p:adj[nod])
        {
            int i = p.first;
            int d = p.second;
            if(viz[i]==0)
            {
                dist[i]=dist[nod]+d;
                viz[i]=1;
                q.push(i);
            }
        }
    }
}
int main()
{

    fin>>n>>m>>x>>y;
    adj.resize(n+5);
    dist.resize(n+5,-1);
    viz.resize(n+5,0);
    for(int i=1; i<=m;i++)
    {
        int a,b,d;
        fin>>a>>b>>d;
        adj[a].push_back({b,d});
        adj[b].push_back({a,-d});
    }
   
    BFS(x);
    int rez= dist[y];
    fout<<rez;
    return 0;
}