Cod sursa(job #3135217)

Utilizator NoRules123Osadici Darius Bogdan NoRules123 Data 2 iunie 2023 13:28:47
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 30005;
bool viz[NMAX + 5];
int dist[NMAX + 5];

vector<pair<int, int>> adj[NMAX + 5];

void bfs(int start){
    viz[start] = true;
    queue<int> q;
    q.push(start);
    while(!q.empty()){
        int nod = q.front();
        q.pop();
        viz[nod] = true;
        for(auto it : adj[nod]){
            if(!viz[it.first]){
                dist[it.first] = dist[nod] + it.second;
                q.push(it.first);
            }
        }
    }
}

int main(){
    int n, m, start, end;
    fin>>n>>m>>start>>end;
    for(int i = 1; i <= m; i++){
        int n1, n2, cost;
        fin>>n1>>n2>>cost;
        adj[n1].push_back({n2, cost});
        adj[n2].push_back({n1, -cost});
    }
    bfs(start);
    fout<<dist[end]<<"\n";
    return 0;   
}