题目描述
n座山峰横亘在旅行者与目的地之间,阻挡着他的去路,旅行者必须依次经过这n座山峰到达目的地,即,旅行者必须先经过第一座山,再经过第二座,...,最后经过第n座。
山峰的险峻程度可以用险峻值h衡量,第i座山峰的险峻值为h_i。同时,旅行者登山的能力可以用能力值k衡量。
经过一座山峰的方式有两种:攀登和绕过。如果旅行者的能力值k不小于山峰的险峻值h,那么旅行者既可以攀登这座山峰,也可以绕过这座山峰;反之,如果旅行者的能力值小于山峰的险峻值,那么旅行者既不能攀登也不能绕过这座山峰。
同时,每座山峰具有一个加成值a,第i座山峰的加成值为a_i。如果旅行者选择攀登第i座山峰,那么在攀登结束后,旅行者的能力值将增加a_i;如果旅行者选择绕过,则能力值不会获得加成。
给出旅行者的初始能力值k_0,n座山峰的险峻值h_i和加成值a_i (1≤i≤n),求旅行者至少需要攀登几座山峰才能到达目的地。
输入描述
首先输入一行,包含两个整数n,k_0。其中1≤n≤10^5,表示山峰个数;1≤k_0≤10^9,表示旅行者的初始能力值。
之后输入一行,包含n个整数h_1, h_2, ..., h_n,表示各个山峰的险峻値。1≤h_i≤10^9。
最后输入一行,包含n个整数a_1, a_2, ..., a_n,表示各个山峰的加成值。0≤a_n≤10^9。
输出描述
输出一行,包含一个整数,表示旅行者为了到达目的地至少需要攀登的山峰个数。如果旅行者无法到达目的地,则输出-1。
样例输入
5 3
3 2 5 4 6
1 2 1 3 0
样例输出
2
样例解释
旅行者可以选择攀登第2座山和第3座山,这样旅行者经过第1至5座山时的能力值分别为:3 3 5 6 6,均不小于各座山的峻险值
样例输入2
1 2
3
100
样例输出2
-1