Pagini recente » Cod sursa (job #3031997) | Cod sursa (job #1554292) | Cod sursa (job #719140) | Cod sursa (job #3139037) | Cod sursa (job #3164333)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 3e5 + 2;
int n, m, x, y, a, b, c, d[NMAX], vf[NMAX];
vector<pair<int, int>> v[NMAX];
ifstream fin("sate.in");
ofstream fout("sate.out");
void dfs(int nod) {
vf[nod] = 1;
for (auto [vecin, cost] : v[nod]) {
if (vf[vecin])
continue;
d[vecin] = d[nod]+cost;
dfs(vecin);
}
}
int main()
{
fin >> n >> m >> x >> y;
if (x > y) {
swap(x, y);
}
for (int i = 1; i <= m; i++) {
fin >> a >> b >> c;
v[a].push_back({b, c});
v[b].push_back({a, -c});
}
dfs(x);
fout << d[y];
return 0;
}