Pagini recente » Cod sursa (job #1381343) | Cod sursa (job #2869714) | Cod sursa (job #2574259) | gardening | Cod sursa (job #1776946)
#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;
ifstream fin("sate.in");
ofstream fout("sate.out");
const int NMAX = 30001;
int n, m, start, stop;
vector<pii> v[NMAX];
int d[NMAX];
bool viz[NMAX];
inline void bfs(int source) {
viz[source] = 1;
queue<int> Q;
Q.push(source);
int node;
int cost, vecin;
while (Q.size()) {
node = Q.front();
Q.pop();
for (const pii& x: v[node]) {
vecin = x.first, cost = x.second;
if (!viz[vecin]) {
viz[vecin] = 1;
d[vecin] = d[node] + cost;
Q.push(vecin);
}
}
}
}
int main()
{
fin >> n >> m >> start >> stop;
for (int x, y, c; m; --m) {
fin >> x >> y >> c;
v[x].push_back({y, c});
v[y].push_back({x, -c});
}
bfs(start);
fout << d[stop];
return 0;
}