Pagini recente » Cod sursa (job #1696106) | Cod sursa (job #3230345) | Istoria paginii utilizator/anna_cristina | Profil JiyuuNoTsubasa | Cod sursa (job #3260079)
#include <fstream>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <queue>
#define pii pair<int,int>
using namespace std;
long long int n,m,i,j,u,v,curr,p,l,k,val,ok,viz[200005],d[200005],ans,mod=1e9+7;
ifstream cin ("dijkstra.in");
ofstream cout ("dijkstra.out");
string s1,s2;
vector<pair<int,int>>g[250005];
queue<int>q;
priority_queue < pii , vector < pii > , greater < pii > > pq;
void dijk (int st)
{
for(i=1;i<=n;i++)
d[i]=1e9;
d[st]=0;
pq.push({0,st});
while(!pq.empty())
{
int curr=pq.top().second;
pq.pop();
for(i=0;i<g[curr].size();i++)
{
int vec=g[curr][i].first;
int cost=g[curr][i].second;
if(d[curr]+cost<d[vec])
{
d[vec]=d[curr]+cost;
pq.push({d[vec],vec});
}
}
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>n>>m;
for(i=1;i<=m;i++)
{
cin>>u>>v>>val;
g[u].push_back({v,val});
}
dijk(1);
for(i=2;i<=n;i++)
{
if(d[i]==1e9)
cout<<0<<' ';
else
cout<<d[i]<<' ';
}
return 0;
}