Cod sursa(job #3320981)

Utilizator vladneaguVladneagu vladneagu Data 7 noiembrie 2025 20:05:56
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
#define pii pair<int, int>
#define fi first
#define se second
using namespace std;
vector<pii> adj[30005];
bool viz[30005];
int ans = -1, y;
void dfs(int i, int p){
    if(i == y){
        ans = p;
        return;
    }
    viz[i] = 1;
    for(auto [j, cost] : adj[i]){
        if(ans != -1)
            return;
        if(!viz[j]){
            dfs(j, p + cost);
        }
    }
}
int main(){
    ifstream cin("sate.in");
    ofstream cout("sate.out");
    int n, m, x;
    cin >> n >> m >> x >> y;
    if(x > y) swap(x, y);
    for(int i = 1; i <= m; i++){
        int a, b, c;
        cin >> a >> b >> c;
        adj[a].push_back({b, c});
        adj[b].push_back({a, -c});
    }
    dfs(x, 0);
    cout << ans << '\n';
    return 0;
}