Cod sursa(job #3373797)

Utilizator ThoughtfulScholarCalin Andrei Razvan ThoughtfulScholar Data 7 noiembrie 2026 22:13:02
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

const int MAXN = 30005;

vector<pair<int, int>> g[MAXN];
int viz[MAXN];
long long d[MAXN];

void dfs(int nod, long long dist_curenta) {
    viz[nod] = 1;
    d[nod] = dist_curenta;
    for (size_t i = 0; i < g[nod].size(); ++i) {
        int vecin = g[nod][i].first;
        int dist = g[nod][i].second;
        if (!viz[vecin]) {
            dfs(vecin, dist_curenta + dist);
        }
    }
}

int main() {
    ifstream fin("sate.in");
    int n, m, x, y;
    if (!(fin >> n >> m >> x >> y)) return 0;

    for (int k = 0; k < m; ++k) {
        int i, j, dist;
        fin >> i >> j >> dist;
        g[i].push_back({j, dist});
        g[j].push_back({i, -dist});
    }
    fin.close();

    dfs(x, 0);

    ofstream fout("sate.out");
    fout << d[y] << "\n";
    fout.close();

    return 0;
}