Cod sursa(job #3371221)

Utilizator natalia_denisa14Natalia natalia_denisa14 Data 29 octombrie 2026 11:58:42
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>
#define nmax 30005
using namespace std;

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


int n,m,x,y,l,r,w;
int dist[nmax];
bool viz[nmax];
vector<pair<int,int>> adj[nmax];
queue<int> q;

void bfs(int nod) {
    q.push(nod);
    viz[nod]=1;
    while (q.size()) {
        int nod=q.front();
        q.pop();

        for (int j=0;j<adj[nod].size();j++) {
            int vecin=adj[nod][j].second;
            int new_cost=adj[nod][j].first;
            if (!viz[vecin]) {
                dist[vecin]=dist[nod]+new_cost;
                q.push(vecin);
                viz[vecin]=1;
            }
        }
    }
}
int main() {
    f>>n>>m>>x>>y;
    for (int i=1;i<=m;i++) {
        f>>l>>r>>w;
        adj[l].push_back({w,r});
        adj[r].push_back({-w,l});
    }
    
    dist[x]=0;
    bfs(x);
    g<<dist[y];
    return 0;
}