atcoder#ABC203F. [ABC203F] Weed

[ABC203F] Weed

配点 : 600600

問題文

高橋君と青木君の家の庭には草 11, 草 22, \ldots, 草 NNNN 本の草が生えており、草 ii の高さは AiA_i です。 高橋君と青木君は次の方法で庭の草抜きを行う事にしました。

  • まず、青木君が高々 KK 本の草を選んで抜く。
  • その後、高橋君が次の操作を庭の草がすべて抜けるまで繰り返す。
    • 残っている草のうち高さが最大のものの高さを HH とする。残っている草のうち、高さが H2\frac{H}{2} より高いものを一斉に抜く。

青木君は、高橋君の操作回数が最小となるようにした上で、自分の抜く本数を最小にしたいと考えています。 このときの高橋君の操作回数と青木君の抜く草の本数を求めてください。

制約

  • 1N2×1051 \leq N \leq 2\times 10^5
  • 0KN0 \leq K \leq N
  • 1Ai1091 \leq A_i \leq 10^9
  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN KK

A1A_1 A2A_2 \ldots ANA_N

出力

高橋君の操作回数と青木君の抜く草の本数をこの順に空白区切りで出力せよ。

4 1
2 3 4 9
2 1

例えば青木君が草 44 (高さ 99) を選んで抜いたとき、残りの草の中で最も高いものは草 33 であり、その高さは 44 です。 42=2\frac{4}{2}=2 であり、2<32<3, 2<42<4 より 11 回目の操作で高橋君は草 22 と草 33 のみを抜くことができます。その後、 22 回目の操作で草 11 を抜き、高橋君は 22 回で操作を終えることができます。 一方で、青木君がどの草を 11 本選んだとしても高橋君は 11 回で操作を終えることはできません。

また、もし青木君が 11 本も抜かなかったとすると高橋君は 33 回操作する必要があるため、青木君は高橋君の操作回数を最小にするために最低 11 本は抜かなくてはなりません。

3 3
2 3 5
0 3

青木君が全ての草を抜いたとき高橋君は操作を行う必要がなく、明らかにこのときが最小です。

9 8
137 55 56 60 27 28 133 56 55
1 4