【模板】dijikstra
1 dis[1]=0; 2 q.push(make_pair(0,1)); 3 while(!q.empty()) 4 { 5 int u=q.top().second; 6 q.pop(); 7 if(vis[u]) continue; 8 vis[u]=1; 9 for(int i=h[u];i;i=e[i].nex) 10 { 11 int v=e[i].to; 12 if(dis[v]>dis[u]+e[i].w) 13 { 14 dis[v]=dis[u]+e[i].w; 15 q.push(make_pair(dis[v],v)); 16 } 17 } 18 } 19