Pagini recente » Cod sursa (job #1713212) | Cod sursa (job #2717584) | Cod sursa (job #2630985) | Cod sursa (job #370982) | Cod sursa (job #3282326)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("sate.in");
ofstream cout("sate.out");
const int nmax=100024;
int dp[nmax];
bool viz[nmax];
int n,m,a,b,x,y,cost;
vector<pair<int,int> > v[nmax];
void dfs(int nod)
{
for(auto e:v[nod])
if(dp[e.first]!=-1)
{
dp[e.first]=dp[nod]+e.second;
dfs(e.first);
}
}
int main()
{
cin>>n>>m>>a>>b;
for(int i=1;i<=m;i++)
{
cin>>x>>y>>cost;
v[x].push_back({y,cost});
v[y].push_back({x,-cost});
}
for(int i=1;i<=n;i++)
dp[i]=-1;
dp[a]=0;
dfs(a);
cout<<dp[b]<<' ';
}