Cod sursa(job #3374004)

Utilizator albertcc26Comarniceanu Albert Nicolae albertcc26 Data 8 noiembrie 2026 14:07:30
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <bits/stdc++.h>
#define INF 2e9
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");

int n,m,x,y;

vector <pair<int,int>> adj[30005];
int dist[30005];
bool vizitat[30005];

int bfs(int start,int destinatie){
    queue<int> q;
    q.push(start);
    vizitat[start]=true;
    dist[start]=0;

while(!q.empty())
{
    int nod=q.front();
    q.pop();


    if(nod==destinatie){
        break;
    }

    for(auto muchie:adj[nod]) {
        int vecin = muchie.first;
        int cost=muchie.second;

        if(!vizitat[vecin]){

            vizitat[vecin] = true;
            dist[vecin]=dist[nod]+cost;

            q.push(vecin);

        }
    }
    
}
return abs(dist[destinatie]);
}
int main(){

f>>n>>m>>x>>y;

for (int i=1;i<=n;i++)
        dist[i]=INF;

        for (int i=1;i<=m;i++) {
        int st,dr,d;
        f>>st>>dr>>d;
        adj[st].push_back({dr,d});
        adj[dr].push_back({st,-d});
    }
    g<<bfs(x,y)<<"\n";

    return 0;
}