#4332. 喂牛(少年班)

喂牛(少年班)

题目描述

小明家有一个很大的牧场,他每天都要去喂这些奶牛。

有一天你去到他家里,他和你吐槽全部奶牛从他们各自的牧场赶到其他牧场吃饭的时候,总是要等待很长时间,你仔细想了想,发现这个问题是可以使用你的编程能力解决的,于是你告诉小明,他表示很高兴。

每只奶牛所在的牧场(一个牧场不一定只有一头牛,也有可能有多头)。现在小明给出了每头奶牛所在的牧场,还有牧场之间的路线,你要使用你的编程能力找到使所有牛到达的路程和最短的牧场(小明将在那边喂他的牛)。

输入格式

第一行包含三个整数 N,P,CN,P,C,分别表示奶牛数、牧场数和牧场间道路数。

第二行到第 N+1N+1 行,每行一个整数,其中第 ii 行的整数表示第 i1i-1 头奶牛所在的牧场号。

N+2N+2 行到第 N+C+1N+C+1 行,每行包含三个整数 A,B,DA,B,D,表示牧场号为 AABB 的两个牧场之间有一条长度为 DD 的双向道路相连。

输出格式

输出一行一个整数,表示奶牛必须行走的最小的距离和。

样例 #1

样例输入 #1

3 4 5
2
3
4
1 2 1
1 3 5
2 3 7
2 4 3
3 4 5

样例输出 #1

8

提示

数据范围

60%60\%的数据 1N4001 \le N \le 4002P5002 \le P \le 500 ,1C5001 \le C \le 500

对于所有数据,1N5001 \le N \le 5002P8002 \le P \le 8001A,BP1 \le A,B \le P1C14501 \le C \le 14501D2551 \le D \le 255


样例解释

作图如下:

P2  
P1 @--1--@ C1
         |
         | 
       5  7  3
         |   
         |     C3
       C2 @--5--@
          P3    P4

小明在在4号牧场喂奶牛最优。