Cod sursa(job #3188313)

Utilizator Robert_NicuNicu Robert Cristian Robert_Nicu Data 2 ianuarie 2024 17:19:16
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>
#define DIM 30001
using namespace std;

ifstream fin("sate.in");
ofstream fout("sate.out");

int n, m, x, y, a, b, c;
int i, j;
int dp[DIM];
bool parcurs[DIM];
vector <pair <int, int> > G[DIM];

void bfs(){
    queue <int> Q;
    Q.push(x);
    dp[x]=0;
    while(!Q.empty()){
        int nod=Q.front();
        parcurs[nod]=1;
        for(int i=0; i<G[nod].size(); i++){
            int fiu=G[nod][i].first;
            if(!parcurs[fiu]){
                dp[fiu]=dp[nod]+G[nod][i].second;
                Q.push(fiu);
            }
        }
        Q.pop();
    }
}

int main(){
    fin>>n>>m>>x>>y;
    for(i=1; i<=m; i++){
        fin>>a>>b>>c;
        G[a].push_back(make_pair(b, c));
        G[b].push_back(make_pair(a, -c));
    }
    bfs();
    fout<<dp[y];
}