#include #define int long long using namespace std; using P=pair; const int INF=1e18; struct edge{int to,cost;}; bool chmin(int&a,int b){if(a>b)return a=b,true;return false;} int N,M,dist[1<<20]; vectorG[1<<20]; signed main(){ cin>>N>>M; while(M--){ int a,b,c;cin>>a>>b>>c; G[a-1].push_back({b-1,c}); } for(int i=0;i,greater

>Q;Q.push({0,i}); while(!Q.empty()){ P p=Q.top();Q.pop(); if(dist[p.second]