Pagini recente » Cod sursa (job #112228) | Cod sursa (job #1356311) | Cod sursa (job #512822) | Cod sursa (job #649581) | Cod sursa (job #2938873)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int n, m;
int p, q;
vector<pair<int, int>> adj[30004];
bitset<30004> viz;
long long distanta[30004];
void dfs(int v)
{
viz[v] = true;
for (auto u : adj[v])
{
if (!viz[u.first])
{
distanta[u.first] = distanta[v] + u.second;
dfs(u.first);
}
}
}
int main()
{
fin >> n >> m >> p >> q;
for (int i = 1; i <= m; i++)
{
int a, b, d;
fin >> a >> b >> d;
adj[a].push_back({b, d});
adj[b].push_back({a, -d});
}
distanta[p] = 0;
dfs(p);
fout << distanta[q];
return 0;
}