package main
import (
"fmt"
"sort"
)
func main() {
var n, result int
var k float64
fmt.Scanf("%d %f", &n, &k)
var a = make([]float64, n) // 用float32会因为误差而过不了最后一个样例
var s string
for i:=0;i<n;i++{
fmt.Scanf("%f", &a[i])
}
fmt.Scanf("%s", &s)
for i:=0;i<n;i++{
if s[i] == '1'{
a[i] *= 0.95
}
}
sort.Slice(a, func(i, j int) bool{
return a[i] < a[j]
})
for i:=0;k>0&& i<n;i++{
if a[i] <= k{
k-=a[i]
result++
}else{
break
}
}
fmt.Print(result)
}

京公网安备 11010502036488号