考虑贪心,如果物品可以95折就将物品的价格替换为其的95折价格,由于我们想买更多的物品,所以应该贪心的选择价格低的物品买,直接根据从小到大买即可。
Java
import java.util.Arrays;
众所周知,在一些消费支付的场合中,往往有“支付宝九五折”的优惠。这天小红来到了超市购买物品,一共有n种物品,每种物品只能购买一个,但有的物品支持优惠活动,有的并不支持。恰好本超市的结账是有“支付宝九五折”优惠的,小红的支付宝余额还剩k元,他想知道他仅使用支付宝进行支付的话最多能买几件物品?
输入包含三行。
第一行两个正整数n,k(≤n≤105),(1≤k≤109) 第二行包含n个正整数ai(1≤a¡≤104)表示每个物品的价格。
第三行一个长度为n的只含有0和1的字符串,表示每个物品是否支持优惠。(如果是1代表第i个物品支持优惠,否则不支持。)
输出一行一个整数表示答案
输入
3 975
1000 500 500
001
输出
2