loj#P2165. 「POI2011 R3 Day0」炸药 Dynamite
「POI2011 R3 Day0」炸药 Dynamite
题目描述
译自 POI 2011 Round 3. Day 0. A「Dynamite」
Byteotia 山洞由 个洞穴和连接这些洞穴的 条过道组成。对于每一对洞穴,从一个洞穴到达另一个都有唯一的路径,并且不需要离开山洞。炸药放在了某些山洞中。每条过道都放了引线。在每个洞穴中,相邻过道的引线交于一点,如果洞穴中有炸药,那么它们会与炸药相连。相邻两个洞穴之间的引线燃尽都恰好需要一单位时间。并且只要火传到了有炸药的洞穴中,炸药就会立即爆炸。
我们希望点燃 个洞穴的引线(在引线的交点处点燃),使得引线引燃后,所有炸药在最短时间内爆炸。写一个程序求出这个最小可能时间。
输入格式
第一行包含两个整数 ,分别表示山洞中洞穴的个数和可以点火的引线数;
接下来一行 个整数 ,如果 则 号山洞中有炸药,如果 则没有。
接下来 行,每行两个整数 ,表示一条过道连接洞穴 和洞穴 。
输出格式
一行一个整数,表示引爆所有炸药所需的最短时间。
7 2
1 0 1 1 0 1 1
1 3
2 3
3 4
4 5
5 6
5 7
1
数据范围与提示
对于所有数据,$ 1 \le m \le n \le 3\times 10^5,d_i \in \{0, 1\},1 \le a \lt b \le n $;
对于 的分数,;
对于 的分数,。
Task author: Jacek Tomasiewicz.