Cod sursa(job #3322461)

Utilizator alecu2008Alecu Alexandru alecu2008 Data 14 noiembrie 2025 10:51:24
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

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

const int nmax=30005;

bitset<nmax>vas;

long long int n,m,X,Y,rasp=-1;
vector<vector<pair<long long int,long long int>>> graf;

void dfs(int nod,long long int dist)
{
    vas[nod]=1;
    if(nod==Y)rasp=dist;
    for(auto i:graf[nod]){
       if(!vas[i.first])
       dfs(i.first,dist+i.second);
    }

}

int main()
{
   fin>>n>>m>>X>>Y;
   graf.assign(n+1,vector<pair<long long int,long long int>>());
   for(int i=1;i<=m;i++){
    long long int x,y,d;
    fin>>x>>y>>d;
    graf[x].push_back({y,d});
    graf[y].push_back({x,-d});
    }
    dfs(X,0);
    fout<<rasp;

}