Pagini recente » Cod sursa (job #2223447) | Cod sursa (job #3326595) | Cod sursa (job #3323844) | Cod sursa (job #3349519) | Cod sursa (job #3342877)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout ("sate.out");
int n,m,x,y;
int coada[100001],viz[100001];
int dr[100001];
vector<pair<int,int>> gr[100001];
int main(){
fin>>n>>m>>x>>y;
for(int i=1;i<=m;i++){
int a,b,val;
fin>>a>>b>>val;
gr[a].push_back({b,val});
gr[b].push_back({a,-val});
}
coada[1]=x;
viz[x]=1;
int p=1;
int u=1;
while(p<=u){
int nod=coada[p++];
if(nod==y)
break;
for(int i=0;i<gr[nod].size();i++){
int vecin=gr[nod][i].first;
int cost=gr[nod][i].second;
if(viz[vecin]==0){
coada[++u]=vecin;
viz[vecin]=1;
dr[vecin]=dr[nod]+cost;
}
}
}
fout<<dr[y];
}