fork(2) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long
  4. #define iPair pair<ll,ll>
  5. int main()
  6. { ll n,m,i,x,y,u,v,z,w;
  7. cin>>n>>m;
  8. vector<vector<iPair > >vec(m+1);
  9. ll dst[n+9];
  10. for(i=0;i<m;i++)
  11. {
  12. cin>>x>>y>>z;
  13. vec[x].push_back(make_pair(y,z));
  14. vec[y].push_back(make_pair(x,z));
  15. }
  16. for(i=1;i<=n;i++)
  17. {
  18. dst[i]=999;
  19. }
  20. dst[1]=0;
  21. priority_queue< iPair, vector <iPair> , greater<iPair> > pq;
  22. pq.push(make_pair(1,0));
  23. while(!pq.empty())
  24. {
  25. u=pq.top().first;
  26. pq.pop();
  27. for(i=0;i<vec[u].size();i++)
  28. {
  29. v=vec[u][i].first;
  30. w=vec[u][i].second;
  31. if(dst[v]>dst[u]+w){
  32. dst[v]=dst[u]+w;
  33. pq.push(make_pair(v,dst[v]));}
  34. }
  35.  
  36.  
  37. }
  38. for(i=1;i<=n;i++)
  39. {
  40. cout<<dst[i]<<" ";
  41. }
  42.  
  43. }
Runtime error #stdin #stdout 0s 4412KB
stdin
3 2
1 2 3
1 3 78
stdout
Standard output is empty