建造巢穴
题目ID:? \color{red}拓展题\color{red} 100分
时间限制:32768ms 空间限制
题目描述
神数组蚂蚁计划搭建新家园,“跪求一死”的计划是搭建n个房间,但占地面积必须小于等于k(留出空间)。负责建造巢穴的织巢蚁想知道,能否搭建成功(可以往上叠房间,但如果上方房间总重量大于下方房间,就会把下方房间压塌!)
输入格式
第一行两个整数n
和k
,表示计划的n
个房间与占地面积k
接下来1行,每行n
个用空格间隔开的整数a[i]
,表示编号i的房间重量
输出格式
输出1行,可行输出"Yes"
,不可行输出No
样例
input 1
5 1
16 8 4 2 1
output 1
Yes
样例解释
样例一的a[0]
可以叠在最下方,给出侧视图与上方建筑重量p[i]
a[4]: 1 p[0]:0
a[3]: 2 p[1]:1
a[2]: 4 p[2]:1 +2 = 3
a[1]: 8 p[3]:1 +2(3) +4 = 7
a[0]: 16 p[4]:1 +2(3) +4(7) +8 = 15
提示
dfs
,检查用前缀和,怕超时加最优性剪枝,也可以改变搜索顺序