1210 - 独木舟
描述

n个人,已知每个人体重wi。独木舟承重固定,每只独木舟最多坐两个人,即可以坐一个人或者两个人。显然要求每只独木舟承载的总重量不能超过独木舟的承重m。假设每个人体重也不超过m,问最少需要几只独木舟?

(其中0<n<=1e4,0<wi<=m<=2e9,且wi<=1e9)


输入

第一行包含两个正整数n,m,表示人数和独木舟的承重。 接下来n行,每行一个正整数wi,表示每个人的体重。


输出

一行一个整数表示最少需要的独木舟数。


样例

输入

3 6
1
2
3

输出

2
提示

我们先对所有的人按照体重排序,方便后面对人员进行调配。

初始每个人都分配到了1个独木舟,此时共有 n 条独木舟。由于每个独木舟最多坐两个人,现在的问题就是,如何让更多的人同别人共享同一个独木舟。我们从最轻的人开始逐个向后对每个人进行合并处理。

根据贪心的策略,对于每一个人,尽量将他合并到一个体重较重的人的独木舟上,满足他们两个人的体重之和不超过 M ,且这个独木舟没有分配其他人。


题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 1
通过次数 1