#P2966. [USACO09DEC] Cow Toll Paths G

[USACO09DEC] Cow Toll Paths G

题目描述

和所有人一样,FJ 总是在想方设法增加他的收入。为此,他在农场的牛群穿行于各个牧场之间时,设置了一系列收费站。

奶牛们在 N(1N250)N(1 \le N \le 250) 个牧场(编号为 1N1 \dots N)之间移动。农场中有 M(1M10,000)M(1 \le M \le 10,000) 条双向小路连接不同的牧场对 AjA_jBjB_j (1AjN;1BjN1 \le A_j \le N; 1 \le B_j \le N)。FJ 为连接牧场 AjA_jBjB_j 的路径分配了路费 LjL_j (1Lj100,0001 \le L_j \le 100,000)。

虽然同一对牧场之间可能存在多条小路,但小路永远不会将牧场与自身相连。最棒的是,奶牛总能通过一系列小路从任何一个牧场移动到另一个牧场。

在一种只能被描述为贪婪的行为中,FJ 还为每个牧场分配了过路费 CiC_i (1Ci100,0001 \le C_i \le 100,000)。从一个牧场移动到另一个不同牧场的总费用是:所经过的所有小路的路费之和,再加上一个额外的费用——这个费用是沿途经过的所有牧场(包括起点和终点)中,牧场收费的最大值。

耐心的奶牛们希望研究它们的出行选择。它们需要你编写一个程序,接收 K(1K10,000)K(1 \le K \le 10,000) 个查询并输出每个查询指定的行程的最小费用。查询 ii 是一对数字 sis_itit_i (1siN;1tiN;siti1 \le s_i \le N; 1 \le t_i \le N; s_i \neq t_i),分别指定起点和终点牧场。

输入格式

第一行三个整数 n,m,qn,m,q 代表点数,边数与询问数。
接下来 nn 行每行一个整数 cic_i 代表第 ii 个点的点权。
接下来 mm 行每行三个整数 ui,vi,wiu_i,v_i,w_i 代表第 ii 条边从 uiu_i 连到 viv_i 边权为 wiw_i
接下来 qq 行每行两个整数 si,tis_i,t_i 代表第 ii 组询问求从 sis_itit_i 的边权之和与点权的最大值的和的最小值。

输出格式

qq 行每行一个整数,代表第 ii 组询问的结果。

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

8 
9 

提示

对于 100%100\% 的数据,1n2501 \le n \le 2501m1041 \le m \le 10^41q1041 \le q \le 10^4