Pagini recente » Istoria paginii runda/becreative27/clasament | Autentificare | Cod sursa (job #3231452) | Cod sursa (job #3172611) | Cod sursa (job #2628462)
#include <bits/stdc++.h>
using namespace std;struct H{int n,d;bool operator<(const H&x)const{return d>x.d;}}h;int D[50001],n,m,i,j,c,I=INT_MAX;vector<H>v[50001];main(){ifstream f{"dijkstra.in"};ofstream g{"dijkstra.out"};f>>n>>m;while(m--)f>>i>>j>>c,v[i].push_back({j,c});fill(D+2,D+n+1,I);priority_queue<H>q;q.push({1,0});while(q.size()){h=q.top();q.pop();if(D[h.n]==h.d)for(H t:v[h.n])if(D[t.n]>h.d+t.d)D[t.n]=h.d+t.d,q.push({t.n,D[t.n]});}for(i=2;i<=n;++i)g<<(D[i]^I?D[i]:0)<<' ';}