Cod sursa(job #3186488)

Utilizator gianiferSpita Alexandru-Mihai gianifer Data 23 decembrie 2023 13:47:18
Problema Sate Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

#define INF 100000000

using namespace std;

ifstream fin("sate.in");

ofstream fout("sate.out");

int n, m, start, stop;

int dp[3005][3005];

int main()
{
    fin >> n >> m >> start >> stop;

    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            dp[i][j] = INF;
    for (; m--;)
    {
        int x, y, cost;
        fin >> x >> y >> cost;
        dp[x][y] = cost;
        dp[y][x] = -cost;
    }

    for (int k = 1; k <= n; k++)
        for (int i = 1; i <= n; i++)
            for (int j = 1; j <= n; j++)
            {
                if (dp[k][j] != INF && dp[i][j] != INF)
                {
                    dp[i][k] = min(dp[i][k], dp[i][j] - dp[k][j]);
                }
            }

    fout << dp[start][stop];
}