#P1484. Blowing Fuses
Blowing Fuses
描述
也许你熟悉以下的情况:你插上了许多电器,比如烤面包机、冰箱、微波炉、电脑、音响等等,并且它们都在运行。但是当你打开电视时,保险丝烧断了,因为所有机器的电力消耗总和超过了保险丝的容量。当然,这是一项很好的安全功能,避免了由于过热的电线引发火灾而导致房屋经常着火。但也很麻烦,因为你需要去地下室(或者其他不方便的地方)更换保险丝或者重新开关它。
你希望有一个程序,能够在打开电器之前检查所有运行中的电器的总功率消耗是否超过了保险丝的容量(导致保险丝烧断),或者是否可以安全地打开电器。
输入
输入由多个测试用例组成。每个测试用例描述了一组电器,并给出了这些电器的开关操作序列。
每个测试用例的第一行包含三个整数n、m和c,分别表示电器的数量(n <= 20)、操作的数量(m)和保险丝的容量(单位:安培)。接下来的n行,每行包含一个正整数ci,表示第i个电器的功率消耗(单位:安培)。
接下来是m行,每行包含一个整数,表示在操作序列中执行的开关操作。每个数字表示将对应的电器打开或关闭。如果电器当前打开,则将其关闭;如果电器当前关闭,则将其打开。初始时,所有电器都处于关闭状态。
输入以一个n = m = c = 0的测试用例结束。这个测试用例不需要处理。
输出
对于每个测试用例,首先输出测试用例的编号。然后输出在操作序列中是否发生了保险丝烧断的情况。如果在某个时刻所有打开的电器的功率消耗总和超过了保险丝的容量,则输出“保险丝烧断”。如果保险丝没有烧断,则输出在操作序列中所有打开的电器的最大功率消耗。
每个测试用例之后输出一个空行。
输入数据 1
2 2 10
5
7
1
2
3 6 10
2
5
7
2
1
2
3
1
3
0 0 0
输出数据 1
Sequence 1
Fuse was blown.
Sequence 2
Fuse was not blown.
Maximal power consumption was 9 amperes.