Cod sursa(job #2722669)

Utilizator FasoleboiTudor Gadalean Fasoleboi Data 13 martie 2021 10:21:23
Problema Sate Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
#define NMAX 30010
using namespace std;

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

int n, m, start, finish;
vector <pair<int, int>> adj[NMAX];
queue <pair<int, int>> q;
int dist[NMAX];

void read(){
    fin>>n>>m>>start>>finish;
    int x, y, c;
    while(m--){
        fin>>x>>y>>c;
        adj[x].push_back({y, c});
        adj[y].push_back({x, -c});
    }
}

int main(){
    read();
    q.push({start, 0});
    while(!q.empty()){
        int nod = q.front().first;
        int cost = q.front().second;
        q.pop();

        if(nod==finish){
            fout<<cost;
            return 0;
        }

        for(auto vecin: adj[nod]){
            q.push({vecin.first, cost+vecin.second});
        }

    }
    return 0;
}