阿夸木今天吃什么?
阿夸木最近学会了做饭,她打算邀请她的朋友们来她家吃饭。
但是阿夸木觉得自己跑来跑去太麻烦了。其实阿夸木会使用分身,于是她变出了 nnn 个分身去一个个邀请她的朋友们。分身在邀请完朋友后要返回自己家。
包括阿夸木在内一共 nnn 个人, nnn 个人家之间用 mmm 条有向边相连接,每条边有个权值 zzz 表示这条边的路程。
已知阿夸木家位于一号节点,问阿夸木们最少要跑多少路程。
形式化的讲,令 dis(x,y)dis(x,y)dis(x,y) 表示 xxx 到 yyy 的最短路,则求 ∑i=1ndis(1,i)+dis(i,1)\sum\limits_{i=1}^n dis(1,i)+dis(i,1)i=1∑ndis(1,i)+dis(i,1) , 如果存在 iii ,111 无法到 iii 或者 iii 无法到 111,则输出 −1-1−1。
第一行两个数 nnn , mmm 表示点的个数和边的个数。
接下来 mmm 行,每行三个数 xxx ,yyy , zzz 表示从 xxx 到 yyy 有一条权值为 zzz 的有向边。
输出一个数,表示阿夸木一共要跑的路程。如果存在一个节点,一号节点无法到该节点,则输出-1.
4 6 1 2 10 2 1 60 1 3 20 3 4 10 2 4 5 4 1 50
210
1≤n≤5×105,1≤m≤1061 \leq n \leq 5 \times 10^5, 1 \leq m \leq 10^61≤n≤5×105,1≤m≤106
1≤x,y≤n1 \leq x,y \leq n 1≤x,y≤n , 1≤z≤106 1 \leq z \leq 10^6 1≤z≤106
dis(1,2)=10 , dis(2,1)=55
dis(1,3)=20 , dis(3,1)=60
dis(1,4)=15 , dis(4,1)=50
即ans=10+55+20+60+15+50=210