Pagini recente » Cod sursa (job #2571369) | Cod sursa (job #1805569) | Cod sursa (job #247953) | Cod sursa (job #184017) | Cod sursa (job #3192272)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int n, m, s, f, x, y, d, i, viz[105], dist[105];
vector<pair<int,int>> v[105];
priority_queue<int> q;
void bfs( int s ){
viz[s] = 1;
dist[s] = 0;
q.push(s);
while( !q.empty() ){
int x = q.top();
q.pop();
for( auto el:v[x] ){
if ( viz[el.first] == 0 ){
viz[el.first] = 1;
dist[el.first] = dist[x] + el.second;
q.push(el.first);
}
}
}
}
int main()
{
fin >> n >> m >> s >> f;
for ( i = 1; i <= m; i++ ){
fin >> x >> y >> d;
v[x].push_back({y, d});
v[y].push_back({x, -d});
}
bfs(s);
fout << dist[f];
}