Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vector <pii> g[mx];
- priority_queue <pii, vector <pii>, greater <pii> > q;
- int dis[mx];
- int dijkestra(int a, int b, int n){
- for(int i=1;i<=n;i++) dis[i] = inf;
- dis[a] = 0;
- q.push({0, a});
- while(!q.empty()){
- pii p = q.top();
- q.pop();
- if(dis[p.se]==p.fi){
- for(auto u: g[p.se]){
- if(dis[u.fi] > dis[p.se] + u.se){
- dis[u.fi] = dis[p.se] + u.se;
- q.push({dis[u.fi], u.fi});
- }
- }
- }
- }
- return dis[b];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement