#C05TL04P05. C05T.L04.实战训练四.题目5.面包人灭灯泡

C05T.L04.实战训练四.题目5.面包人灭灯泡

题目描述

电灯泡工厂总共有 n 个位置,每个位置都有一个电灯泡,每个电灯泡都有两种状态。 0 表示关, 1 表示开。面包人觉得这么多电灯泡聚在一起能产生的热量能毁灭世界。面包人为了保卫世界的和平,于是他决定要关掉电灯泡。

当面包人把电灯泡全部关掉的时候,电灯泡工厂就会因为没有热能造电而失去作用,也就是说当电灯泡全部关掉的时候面包人就拯救了世界。

因为是面包人,所以他有三只手,而他每次只能也必须改变三个电灯泡的状态。

然而,电源每秒能产生 1 单位的热量,当热量达到 k 时,世界就会砰的一声毁灭了。( 也就是不能超过 k 秒 )

那么,现在问题来了,面包人能不能拯救面包球,如果能,输出最小的时间,否则输出 “lamp kill the world!”。

输入格式

第一行两个整数 n , k ,其中 n 为电灯泡工厂的位置的个数, k 为地球所能承受的热量。

一行数字,表示第 i 个数字表示第 i 电灯泡的状态, 0 表示关, 1 表示开。

数据范围

30% 的数据:0 <= k <= n <= 100

60% 的数据:0 <= k <= n <= 10000

100% 的数据:0 <= k <= n <= 1000000

注意:所有数据至少包含 3 个 0 。

输出格式

一个整数,代表面包人拯救面包球用的时间;如果世界毁灭了,输出 “lamp kill the world!”(不加引号)。

样例

5 1
0 1 1 0 0
lamp kill the world!
5 3
0 1 1 0 0
2

样例解释】 样例 2 :

Time1:0 1 0 1 1 xea:1( time1 )

Time2:0 0 0 0 0 xea:2( time2 )