Cod sursa(job #3163622)

Utilizator xxUnrealUxxNiculae Adrian-Ioan xxUnrealUxx Data 31 octombrie 2023 18:21:08
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <vector>
using namespace std;

ifstream cin("sate.in");
ofstream cout("sate.out");

int n, m, st, fin;
const int nmax = 3e5 + 2;
struct muchie
{
    int x;
    int drum;
};

vector<muchie> mat[300000];
int viz[nmax];
int d[nmax];


void dfs(int nod)
{
    for(muchie it : mat[nod]){
        if(viz[it.x] == 0)
        {
            viz[it.x] = 1;
            d[it.x] = d[nod]+it.drum;
            dfs(it.x);
        }
    }
}


int main()
{
    cin >> n >> m >> st >> fin;
    if(st > fin)
        swap(st, fin);

    for(int i = 0; i<m; i++)
    {
        int a, b, c;
        cin >> a >> b >> c;
        mat[a].push_back({b, c});
        mat[b].push_back({a, -c});
    }

    viz[st] = 1;
    dfs(st);
    cout << d[fin];
}