Cod sursa(job #3374014)

Utilizator TVladutTapu Vladut Iulian TVladut Data 8 noiembrie 2026 14:17:47
Problema Sate Scor 35
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <vector>

using namespace std;

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

void parcurgere(vector<vector<pair<int,int>>> &graph,
                vector<long long> &poz, int sat, int pozsat)
{
    poz[sat]=pozsat;

    for(int nrdrum=0;nrdrum<graph[sat].size();nrdrum++)
        if(poz[graph[sat][nrdrum].first]==-1)
            parcurgere(graph,poz,graph[sat][nrdrum].first,
                       graph[sat][nrdrum].second+pozsat);
}

int main ()
{

    int n, m, x, y;
    fin>>n>>m>>x>>y;
    vector<vector<pair<int,int>>> graph(n+1);
    vector<long long> poz(n+1,-1);
    int nod1,nod2,dist;
    while(m)
    {
        fin>>nod1>>nod2>>dist;
        graph[nod1].push_back({nod2,dist});
        graph[nod2].push_back({nod1,-dist});
        m--;

    }

    parcurgere(graph,poz,1,0);

    fout<<-poz[x]+poz[y];

    fin.close();
    fout.close();
    return 0;
}