H - Self-Replacing Cake (Hard)

解説を見る
  • 実行時間制限:2000 ms
  • メモリ制限:1073741824 Bytes
  • 配点:650
  • ジャッジ:Batch

注意

この問題は、D1 問題と設定が酷似している一方、問題文の一部が異なります。
問題文中の異なる点は太字で示していますが、制約に対しては行なっていません。

問題

あなたは、NN 個のケーキのコレクションを持っています。それぞれは見た目や大きさが多種多様であり、重さや長さも様々です。
具体的には、ii 番目のケーキの大きさは SiS_i です。
ところで、あなたは今ある組織に命を狙われています。
いまから、DD 日間の猶予が与えられます。その間に、組織に可能な限り貢献することで、絶命を免れることができる可能性があります。

組織への貢献として認められるものは、以下のとおりです。

  • ケーキを完食する

1日毎に、以下の操作がこの順に繰り返し行われます。

  • 食事:ケーキのサイズの合計があなたの胃の大きさ KK 以下となるようなケーキを好きな個数選び、ケーキを食べる
  • 増殖:まだ一度も完食されていないケーキについて、サイズが 2倍 になる

あなたが食べることのできるケーキの個数の最大値を出力してください。

制約

  • 1N2×1051\leq N\leq 2\times 10^5
  • 1D,K10181\leq D, K\leq 10^{18}
  • 1Si10181\leq S_i\leq 10^{18}
  • 入力はすべて整数

入力

N D KN~D~K
S1 S2  SN1 SNS_1~S_2~\cdots~S_{N-1}~S_N

入力例1

5 5 5
1 2 3 4 5

出力例1

3

例えば、以下のような流れでこの回数が達成可能です。

  • 1日目、すべてのケーキのサイズは {1,2,3,4,5}\{1, 2, 3, 4, 5\} です。3つ目のケーキを食べます。
  • 2日目、すべてのケーキのサイズは {2,4,8,10}\{2, 4, 8, 10\} です。2つ目のケーキを食べます。
  • 3日目、すべてのケーキのサイズは {4,16,20}\{4, 16, 20\} です。1つ目のケーキを食べます。
  • 4日目、すべてのケーキのサイズは {32,40}\{32, 40\} です。ケーキを食べることは出来ません。
  • 5日目、すべてのケーキのサイズは {64,80}\{64, 80\} です。ケーキを食べることは出来ません。

入力例2

5 5 5
1 1 1 1 1

出力例2

5

入力例3

8 9 100
1 2 3 4 5 6 7 8

出力例3

8