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) }