Cod sursa(job #3306090)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 7 august 2025 14:41:21
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("sate.in");
ofstream fout("sate.out");
struct Muchie {
    int y, d;
};
vector<Muchie> gr[30002];
int n, m, p, q, i, dist[30002];
bool fr[30002];

static inline void BFS(int st = p) {
    queue<int> q;
    q.push(st);
    fr[1] = true;

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

	fr[nod] = true;
        for(Muchie urm : gr[nod]) {
            if(!fr[urm.y]) {
                dist[urm.y] = dist[nod] + urm.d;
                q.push(urm.y);
            }
        }
    }
}

int main() {
    //ios_base::sync_with_stdio(false);
    fin.tie(nullptr);
    fout.tie(nullptr);

    fin >> n >> m >> p >> q;
    for(i = 1; i <= m; i++) {
        int x, y, d;
        fin >> x >> y >> d;
        gr[x].push_back({y,  d});
        gr[y].push_back({x, -d});
    }

    BFS();

    fout << dist[q];

    return 0;
}