B. The Fewest Coins G

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

农夫 John 想到镇上买些补给。为了高效地完成任务,他想使硬币的转手次数最少。即使他交付的硬币数与找零得到的的硬币数最少。

John 想要买价值为 T(1 ≤ T ≤ 10000) 的东西。有 N 1 \le N \le 100 )种货币参与流通,面值分别为 V_1,V_2,\dots,V_N 1 \le V_i \le 120 )。John 有 C_i 个面值为 V_i 的硬币( 0 \le C_i \le 10 ^ 4 )。

我们假设店主有无限多的硬币, 并总按最优方案找零。注意无解输出 -1

输入格式

第一行:输入整数N和T.

第二行:输入N个整数,分别表示V1, V2, ..., VN 种面值 (V1, ...VN)

第三行:输入N个整数,分别表示不同面值硬币个数 C1, C2, ..., CN

输出格式

输出满足题意的最少硬币数。如果无法成功完成付款和找零,则输出-1.

样例

样例输入 #1

3 70
5 25 50
5 2 1

样例输出 #1

3

提示

John支出了1个50分和1个25分硬币,总共支付了75分,然后收到了1个5分硬币的找零,因此在这次交易中总共使用了3个硬币。