Pagini recente » Cod sursa (job #3291083) | Cod sursa (job #206787) | Cod sursa (job #3192720) | Cod sursa (job #1579718) | Cod sursa (job #1710744)
#include<bits/stdc++.h>;
#define nmax 100100
using namespace std;
int dist[nmax],n,m,x,y,i,distanta,a,b;
vector<pair<int,int>>v[nmax];
queue<int>coada;
int main()
{
ifstream f("sate.in");
ofstream g("sate.out");
f>>n>>m>>x>>y;
while(m--)
{
f>>a>>b>>distanta;
v[a].push_back(make_pair(b,distanta));
v[b].push_back(make_pair(a,-distanta));
}
for(i=1;i<=n;i++)
dist[i]=1<<30;
dist[x]=0;
coada.push(x);
while(!coada.empty())
{
int nod=coada.front();
coada.pop();
for (auto a:v[nod])
{
if(dist[a.first]>dist[nod]+a.second)
{
dist[a.first]=dist[nod]+a.second;
coada.push(a.first);
}
}
}
g<<dist[y]<<'\n';
return 0;
}