#ABC245G. 外国朋友

外国朋友

外国朋友

题目描述

NN 个人和 KK 个国家,分别编号为 Person 11,Person 22,\ldots,Person NN 和 Nation 11,Nation 22,\ldots,Nation KK

每个人恰好属于一个国家:Person ii 属于 Nation AiA_i

此外,其中有 LL 位名人:Person B1B_1,Person B2B_2,\ldots,Person BLB_L 是名人。

最初,这 NN 个人之间没有朋友关系。

对于 MM 对人,Takahashi 作为神,可以支付一定代价让他们成为朋友:对每个 1iM1\le i\le M,他可以支付 CiC_i 的代价,使 Person UiU_i 和 Person ViV_i 成为朋友。

现在,对每个 1iN1\le i\le N,求解下面的问题。

Takahashi 能否让 Person ii 与「属于不同于 Person ii 所在国家的名人」成为间接朋友?如果能,求所需的最小总代价。

这里,当存在非负整数 nn 和人的序列 (u0,u1,,un)(u_0,u_1,\ldots,u_n),满足 u0=su_0=s,un=tu_n=t,且对每个 0i<n0\le i\lt n,Person uiu_i 和 Person ui+1u_{i+1} 是朋友时,称 Person ss 是 Person tt 的间接朋友。

输入格式

输入按以下格式从标准输入给出:

N M K L
A_1 A_2 … A_N
B_1 B_2 … B_L
U_1 V_1 C_1
U_2 V_2 C_2
⋮
U_M V_M C_M

输出格式

XiX_i 定义如下:如果无法让 Person ii 与「属于不同于 Person ii 所在国家的名人」成为间接朋友,则 Xi=1X_i=-1;否则,XiX_i 为达成目的所需的最小总代价。

在一行中输出 X1,X2,,XNX_1,X_2,\ldots,X_N,用空格隔开。

样例

4 4 2 2
1 1 2 2
2 3
1 2 15
2 3 30
3 4 40
1 4 10
45 30 30 25

Person 11,22,33,44 分别属于 Nation 11,11,22,22,有两位名人:Person 2233。这里,

  • 对 Person 11,属于不同国家的名人只有 Person 33。以最小代价让他们成为间接朋友,应支付 1515 让 Person 1122 成为朋友,再支付 3030 让 Person 2233 成为朋友,合计 15+30=4515+30=45
  • 对 Person 22,属于不同国家的名人只有 Person 33。支付 3030 让 Person 2233 成为朋友,即可达到最小代价。
  • 对 Person 33,属于不同国家的名人只有 Person 22。支付 3030 让 Person 2233 成为朋友,即可达到最小代价。
  • 对 Person 44,属于不同国家的名人只有 Person 22。以最小代价让他们成为间接朋友,应支付 1515 让 Person 1122 成为朋友,再支付 1010 让 Person 1144 成为朋友,合计 15+10=2515+10=25
3 1 3 1
1 2 3
1
1 2 1000000000
-1 1000000000 -1

注意,对 Person 11 来说,Person 11 本身确实是间接朋友,但它与 Person 11 属于同一个国家,所以不存在属于不同国家的名人。

数据范围

  • 2N1052 \le N \le 10^5
  • 1M1051 \le M \le 10^5
  • 1K1051 \le K \le 10^5
  • 1LN1 \le L \le N
  • 1AiK1 \le A_i \le K
  • 1B1<B2<<BLN1 \le B_1 \lt B_2 \lt \cdots \lt B_L \le N
  • 1Ci1091 \le C_i \le 10^9
  • 1Ui<ViN1 \le U_i \lt V_i \le N
  • 如果 iji \neq j,则 (Ui,Vi)(Uj,Vj)(U_i,V_i)\neq (U_j,V_j)
  • 输入中的所有值均为整数。
难度 省选/NOI-
通过率
尝试 0
已通过 0
ID
2732
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签