#595. 小猫爬山
小猫爬山
问题描述
翰翰和达达饲养了 N 只小猫,这天,小猫们要去爬山。
经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<)。
翰翰和达达只好花钱让它们坐索道下山。
索道上有 M 辆缆车,第 i 辆缆车的最大承重量为 W_i,而 N 只小猫的重量分别是 C_1、C_2、……、C_N。
每租用一辆缆车,翰翰和达达就要付 1 美元,所以他们想知道,最少需要付多少美元才能把这 N 只小猫都运送下山?如果无法把所有小猫运下山,输出 -1。
输入格式
第 1 行:包含两个整数 N 和 M
第 2 行:包含 N 个整数 C_i
第 3 行:包含 M 个整数 W_i
输出格式
输出一个整数,表示最少需要多少美元,也就是最少需要多少辆缆车。如果无法把所有小猫运下山,输出 -1。
输入样例
4 3
5 6 7 8
10 15 20
输出样例
2
数据范围
100% 的数据:1 ≤ N ≤ 24, 1 ≤ M ≤ 100, 1 ≤ C_i, W_i ≤ 10^8