#C06L08P03. C06.L08.二分答案.课堂练习3.砍伐树木

C06.L08.二分答案.课堂练习3.砍伐树木

题目描述

MM 需要砍伐 M 米长的木材。他的砍伐机的规则如下:当伐木机的锯片升到高度 H 时,它能据掉所有树的比 H 高部分,当然不高于 H 米的将不会被砍到。

例如: 有一行高度分别为 20 15 10 17 米高的树,当伐木机的锯片升到 15 米高度时,切割后树木剩下的高度将是 15,15,10,15 。这样 MM 将从第1棵树中得到 5 米,第四棵树中得到 2 米,共得到 7 米木材。

MM 非常关注生态保护,所以他不想砍掉过多的木材。因此他想找到砍伐 M 米木材伐木机锯片的最大的高度是多少?

输入格式

第一行有两个整数 N ( 1 <= N <= 10610^6 )和 M ( 1 <= M <= 2*10910^9 ),N 表示树木的数量,M 表示需要砍伐的木材。

第二行有 N 个整数。表示每棵树木的高度,高度值小于 10910^9 ,且保证所有数据之和大于 M (即有解)。

数据范围

对于 30% 的数据 , 1 <= N <= 10 , 1 <= M <= 30 ;

对于 70% 的数据 , 1 <= N <= 1000, 1<=M<=10000;

对于 100% 的数据 , 1 <= N <= 10610^6, 1 <= M <= 2*10910^9;

输出格式

求伐木机锯片的最大的高度。

样例

5 20
4 42 40 26 46
36