Pagini recente » Cod sursa (job #3275366) | Cod sursa (job #236663) | Cod sursa (job #3126538) | Cod sursa (job #3154921) | Cod sursa (job #3282329)
#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]<<' ';
}