考虑重边
不要在topu里写
if(dis[u]+k[to]>dis[to]) { dis[to]=dis[u]+k[to]; deg[to]--; if(deg[to]==0) q.push(to); }
改为
dis[to]=max(dis[to],dis[u]+k[to]); deg[to]--; if(deg[to]==0) q.push(to);
防止重边