Pagini recente » Cod sursa (job #677312) | Cod sursa (job #1782212) | Cod sursa (job #3323698) | Cod sursa (job #3300124) | Cod sursa (job #3302841)
#include <bits/stdc++.h>
#define pii pair<int, int>
#define fi first
#define se second
using namespace std;
vector<pii> adj[30005];
bool viz[30005];
int ans = -1, y;
void dfs(int i, int p){
if(i == y){
ans = p;
return;
}
viz[i] = 1;
for(auto [j, cost] : adj[i]){
if(ans != -1)//am gasit raspunsul
return;
if(!viz[j]){
dfs(j, p + cost);
}
}
}
int main(){
ifstream cin("sate.in");
ofstream cout("sate.out");
int n, m, x;
cin >> n >> m >> x >> y;
if(x > y) swap(x, y);
for(int i = 1; i <= m; i++){
int a, b, c;
cin >> a >> b >> c;
adj[a].push_back({b, c});
adj[b].push_back({a, -c});
}
dfs(x, 0);
cout << ans << '\n';
return 0;
}