Pagini recente » Cod sursa (job #1634688) | Cod sursa (job #376839) | Cod sursa (job #1576000) | Cod sursa (job #2706406) | Cod sursa (job #3229368)
#include <fstream>
#include <vector>
#include <deque>
using namespace std;
ifstream cin("sate.in");
ofstream cout("sate.out");
vector<pair<int,int>> v[30001];
int viz[30001];
int dist[30001];
int main()
{
int n,a,b,k,i,poz,cost,a1,b1;
cin>>n>>k>>a1>>b1;
for(i=1;i<=k;i++){
cin>>a>>b>>cost;
v[a].push_back({b,cost});
v[b].push_back({a,-cost});
}
deque<int> s;
s.push_back(a1);
viz[a1]=1;dist[a1]=0;
while(!s.empty()){
poz=s.front();s.pop_front();
for(i=0;i<v[poz].size();i++){
if(viz[v[poz][i].first]==0){
s.push_back(v[poz][i].first);
viz[v[poz][i].first]=1;
dist[v[poz][i].first]=dist[poz]+v[poz][i].second;
}
}
}
cout<<dist[b1];
return 0;
}