n,k = map(int, input().split())
lst_a = list(map(int, input().split()))
lst_b = input()
prices = []
for i in range(n):
    if lst_b[i] == '1':
        prices.append(lst_a[i]*0.95)
    else:
        prices.append(lst_a[i])
prices.sort()
total = 0
cnt = 0
for p in prices:
    if total + p <= k:
        total += p
        cnt += 1
    else:
        break
print(cnt)

想复杂了,其实就按优惠后的价格从小到大排序, 然后循环累加算总价别超过k就行