Cod sursa(job #2197355)

Utilizator problem_destroyer69Daniel Hangan problem_destroyer69 Data 21 aprilie 2018 21:28:23
Problema Algoritmul lui Dijkstra Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define F first
#define S second
#define INF 1000000005
#define LINF 1000000000000000005
#define MAXN 50005
#define mp make_pair
#define pi pair<int,int>
#define pl pair<ll,ll>
#define vi vector <pi>

int n,m;
int dist[MAXN];
vi d[MAXN];
int main(){
    ifstream fin("dijkstra.in");
    ofstream fout("dijkstra.out");
    fin >> n >> m;
    for (int i = 1; i <= m; i++){
        int x,y,z;
        fin >> x >> y >> z;
        pi lol;
        lol=mp(y,z);
        d[x].pb(lol);
    }
    dist[1] = 0;
    for (int i = 2; i <= n; i++)
        dist[i] = INF;
    for (int i = 1; i <= n-1; i++)
        for (auto j : d[i])
        dist[j.F] = min(dist[j.F],dist[i] + j.S);
    for (int i = 2; i <= n; i++)
        fout << dist[i] << ' ';
}