Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 1000 点
問題文
数直線の上に N 個のりんごと N 個の箱があります。具体的には、座標 A_1, \dots, A_N にりんごが、座標 B_1, \dots, B_N に箱が置かれています。
りんごの箱詰めを担当する AtCoder さんは、ロボットアームを操作してりんごを箱の中に入れます。ロボットアームは最初座標 0 にあり、数直線上で自由に動かすことができます。ロボットアームがりんごのある座標にいるとき、そのりんごをつかむことができ、箱のある座標にいるとき、ロボットアームがつかんだりんごを離してその箱に入れることができます。ただし、ロボットアームは同時にひとつしかりんごを持つことができず、各箱にはひとつしかりんごを入れることができません。特定のりんごを特定の箱に入れなければならないといった制限はありません。
作業時間の制約上、ロボットアームの移動距離の合計は T 以下でなくてはなりません。また、作業終了時にロボットアームが座標 0 に戻っている必要があります。このとき、最大でいくつのりんごを箱に入れることができるでしょうか?
制約
- 1 \leq N \leq 4\,500
- 0 \leq T \leq 10^{14}
- 1 \leq A_1 < A_2 < \cdots < A_N \leq 10^{10}
- 1 \leq B_1 < B_2 < \cdots < B_N \leq 10^{10}
- A_1, A_2, \dots, A_N, B_1, B_2, \dots, B_N はすべて異なる
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられます。
N T A_1 A_2 \cdots A_N B_1 B_2 \cdots B_N
出力
答えを出力してください。
入力例 1
3 12 1 2 3 4 5 6
出力例 1
2
以下のようにロボットアームを動かすと、2 つのりんごを箱に入れることができます。
- ロボットアームを座標 0 から座標 1 に動かし、そこにあるりんごをつかむ。
- ロボットアームを座標 1 から座標 4 に動かし、そこにある箱にりんごを入れる。
- ロボットアームを座標 4 から座標 3 に動かし、そこにあるりんごをつかむ。
- ロボットアームを座標 3 から座標 5 に動かし、そこにある箱にりんごを入れる。
- ロボットアームを座標 5 から座標 0 に動かす。
動かす距離は 12 であるため、条件を満たしています。
入力例 2
3 11 1 2 3 4 5 6
出力例 2
1
以下のようにロボットアームを動かすと、1 つのりんごを箱に入れることができます。
- ロボットアームを座標 0 から座標 2 に動かし、そこにあるりんごをつかむ。
- ロボットアームを座標 2 から座標 5 に動かし、そこにある箱にりんごを入れる。
- ロボットアームを座標 5 から座標 5.2 に動かす。
- ロボットアームを座標 5.2 から座標 0 に動かす。
動かす距離は 10.4 であるため、条件を満たしています。
入力例 3
5 18000000000 1000000000 1000000001 1000000002 9999999997 9999999998 5000000000 5000000001 5000000002 9999999999 10000000000
出力例 3
2