Cod sursa(job #3229368)

Utilizator DumitrescuADumitrescuA DumitrescuA Data 15 mai 2024 17:33:11
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#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;
}