Pagini recente » Cod sursa (job #1545605) | Cod sursa (job #2194137) | Cod sursa (job #381823) | Cod sursa (job #2707317) | Cod sursa (job #3172202)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("sate.in");
ofstream g ("sate.out");
const int NMAX = 3e4;
vector<pair<int, int>> v[NMAX+1];
int dist[NMAX+1];
void dfs(int x, int d){
dist[x] = d;
for(auto y : v[x])
if(dist[y.first] < 0)
dfs(y.first, d + y.second);
}
int main()
{
int n, m, x, y;
f >> n >> m >> x >> y;
for(int i=1; i<=m; i++){
int a, b, d;
f >> a >> b >> d;
v[a].push_back(make_pair(b, d));
v[b].push_back(make_pair(a, -d));
}
fill(dist+1, dist+1+NMAX, -1);
dfs(x, 0);
g << dist[y];
return 0;
}