Pagini recente » Cod sursa (job #2736279) | Cod sursa (job #2158638) | Cod sursa (job #2735638) | Cod sursa (job #877839) | Cod sursa (job #1480679)
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define s second
#define pii pair<int, int>
#define mp make_pair
using namespace std;
const string name = "sate",
in_file = name + ".in",
out_file = name + ".out";
ifstream fin(in_file);
ofstream fout(out_file);
const int MAX = 3e4 + 5;
vector <pii> gr[MAX];
int n, m, s, d, dist[MAX];
deque <int> q;
bool viz[MAX];
void bfs(int source) {
viz[source] = true;
q.pb(source);
while (!q.empty()) {
int node = q.front();
q.pop_front();
for (auto it : gr[node])
if (!viz[it.f]) {
viz[it.f] = true;
dist[it.f] = dist[node] + it.s;
q.pb(it.f);
}
}
}
int main() {
fin >> n >> m >> s >> d;
for (int a, b, c; m; m--) {
fin >> a >> b >> c;
gr[a].pb(mp(b, c));
gr[b].pb(mp(a, -c));
}
bfs(s);
fout << dist[d];
return 0;
}