Pagini recente » Cod sursa (job #2864513) | Cod sursa (job #1791669) | Cod sursa (job #969137) | Cod sursa (job #716296) | Cod sursa (job #2868613)
#include<bits/stdc++.h>
#define int long long
#define INF 2000000000
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
int n,m,x2,y2,d[30002];
vector< pair<int,int> >v[30002];
queue< int >q;
void bfs(int x)
{
int i;
for(i=1; i<=n; i++)
d[i]=INF;
q.push(x);
d[1]=0;
while(!q.empty())
{
int nod=q.front();
q.pop();
for(auto it:v[nod])
{
if(d[it.first]!=INF)
{
int nou=it.first;
int cost=it.second;
if(d[nou]>d[nod]+cost)
{
d[nou]=d[nod]+cost;
q.push(nou);
}
}
}
}
}
signed main()
{
int i,x,y,c;
f>>n>>m>>x2>>y2;
for(i=1; i<=m; i++)
{
f>>x>>y>>c;
v[x].push_back(make_pair(y,c));
v[y].push_back(make_pair(x,-c));
}
bfs(x2);
g<<d[y2];
return 0;
}