小红的口罩
题号:NC229953
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

疫情来了,小红网购了 n 个口罩。
众所周知,戴口罩是很不舒服的。小红每个口罩戴一天的初始不舒适度为 a_i
小红有时候会将口罩重复使用(注:这是非常不卫生的!),每次重复使用时,该口罩的不舒适度会翻倍!
小红想知道,自己在不舒适度总和不超过 k 的情况下,最多能用现有的口罩度过多少天?

输入描述:

第一行输入两个正整数 nk ,分别代表口罩的总数、以及小红最多能忍受的不舒适度总和。
第二行输入 n 个正整数 a_i ,用空格隔开。分别代表每个口罩初始的不舒适度。

输出描述:

一个整数,代表小红最多能度过的天数。
示例1

输入

复制
2 30
2 3

输出

复制
5

说明

第一天用第一个口罩,不舒适度为2。
第二天用第一个口罩,不舒适度为4。
第三天用第二个口罩,不舒适度为3。
第四天用第二个口罩,不舒适度为6。
第五天用第二个口罩,不舒适度为12。
总不舒适度为2+4+3+6+12=27,没有超过30。
可以证明,无论怎样分配,都无法度过6天且不舒适度总和不超过30
示例2

输入

复制
3 5
7 6 8

输出

复制
0

说明

显然,使用任何一个口罩都会使不舒适度超过5。