Cod sursa(job #3184886)

Utilizator radu._.21Radu Pelea radu._.21 Data 17 decembrie 2023 12:23:24
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <vector>
#include <queue>

using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
vector<pair<int,int>>G[100001];
int n,m,x,y,d[100001],f[100001];
int main(){
    fin>>n>>m>>x>>y;
    while(m--){
        int i,j,cost;
        fin>>i>>j>>cost;
        G[i].push_back({j,cost});
        G[j].push_back({i,-cost});
    }
    queue<pair<int,int>>Q;
    Q.push({0,x});
    d[x]=0;
    f[x]=1;
    while(!Q.empty()){
        int nod = Q.front().second;
        Q.pop();
        for(auto it : G[nod]){
            int vecin = it.first;
            int cost = it.second;
            if(!f[vecin]){
                f[vecin]=1;
                d[vecin]=d[nod]+cost;
                Q.push({-d[vecin],vecin});

            }
        }
    }
    fout<<d[y];
    return 0;
}