エバキュエーショントラック
遠い国から故障した車をフェリーで運んだ後、これらの車は隣接する都市に到着しました。次の目的地は首都ですが、車が故障しているため自力で移動できません。そのため、移送にはエバキュエーショントラック(レッカー車)を使用する必要があります。

重量の合計が指定された閾値を超えない場合、1台のエバキュエーショントラックに2台の車を載せることができます。しかし、もし重量の合計が閾値を超えるなら、各車をそれぞれ別のエバキュエーショントラックで運ばなければなりません。
与えられたのは
n
台の車とそれぞれの重量、およびエバキュエーショントラックが扱える重量の閾値 t
です。これをもとに、すべての車を首都へ運ぶのに必要なエバキュエーショントラックの最小台数を求めます。 入力
最初の行には、2つの整数
n
(2 ≤ n ≤ ) と t
(1 ≤ t ≤ ) が与えられます。これは車の台数と、エバキュエーショントラックが扱える最大重量の閾値を表します。次の行には、
n
個の整数 (1 ≤ ≤ t) が空白区切りで与えられ、それぞれが車の重量を示します。 出力
すべての車を移送するために必要となるエバキュエーショントラックの最小台数を出力してください。
例
Input | Output |
4 11
5 8 10 2 | 3 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB