Cod sursa(job #3172202)

Utilizator PsyDuck1914Feraru Rares-Serban PsyDuck1914 Data 20 noiembrie 2023 12:15:20
Problema Sate Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f ("sate.in");
ofstream g ("sate.out");

const int NMAX = 3e4;
vector<pair<int, int>> v[NMAX+1];
int dist[NMAX+1];

void dfs(int x, int d){
    dist[x] = d;
    for(auto y : v[x])
        if(dist[y.first] < 0)
            dfs(y.first, d + y.second);
        
}

int main()
{
    int n, m, x, y;
    f >> n >> m >> x >> y;
    for(int i=1; i<=m; i++){
        int a, b, d;
        f >> a >> b >> d;
        v[a].push_back(make_pair(b, d));
        v[b].push_back(make_pair(a, -d));
    }
    
    fill(dist+1, dist+1+NMAX, -1);
    
    dfs(x, 0);
    g << dist[y];

    return 0;
}