#409. 年度练兵

年度练兵

题目描述

A 是某航空部队的一名战士,他报名参加了年度大练兵。

练兵共有 D 天,每天有不同的项目,本次练兵的项目都设置在白天,晚上让大家休息。

A 在练兵开始之前一共获得了 N 包补给,第 i 包补给吃下去之后,可以让小 A 在当天获得值为 Ai 的体力。如果第 i 天白天演习结束后,小 A 还有值为 Ti 的体力值,由于晚上气温较低,第 2 天,他的体力值将会下降到 ⌊Ti/2⌋(即:Ti/2 向下取整的结果)。

A可以选择在任何一天吃掉补给​,但练兵要求,每个人必须​严格按照编号为 1∼N 的顺序​,吃掉自己的补给。

假设小 A 在练兵开始时,体力值为 0。请设计一个吃掉补给的方案,使得小 AD 天中,体力值最小的那一天的体力值,尽可能的大。

请编程计算出,在所有吃掉补给的方案中,小 A 体力值最小的那天的体力值,最大是多少?

输入格式

1 行输入 2 个整数 ND

接下来 N 行,每行读入一个整数 Ai

输出格式

输出小 AD 天的演习中,体力值最小的那天的体力值,最大是多少。

5 5
10
40
13
22
7
24