def f a , score
[1,11].repeated_combination(a).map do |m|
m.sum + score
end.delete_if do|m|
m > 21
end.max
end
list = ['A','A',9] # 21
p f(list.count('A'),list.map{|m|m=='A'?0:m}.sum)
list = ['A','A',10] # 12
p f(list.count('A'),list.map{|m|m=='A'?0:m}.sum)
ZGVmIGYgYSAsIHNjb3JlCiAgWzEsMTFdLnJlcGVhdGVkX2NvbWJpbmF0aW9uKGEpLm1hcCBkbyB8bXwKICAgIG0uc3VtICsgc2NvcmUKICBlbmQuZGVsZXRlX2lmIGRvfG18CiAgICBtID4gMjEKICBlbmQubWF4CmVuZAoKbGlzdCA9IFsnQScsJ0EnLDldICMgMjEKcCBmKGxpc3QuY291bnQoJ0EnKSxsaXN0Lm1hcHt8bXxtPT0nQSc/MDptfS5zdW0pCgpsaXN0ID0gWydBJywnQScsMTBdICMgMTIKcCBmKGxpc3QuY291bnQoJ0EnKSxsaXN0Lm1hcHt8bXxtPT0nQSc/MDptfS5zdW0p