Cho 3 số a, b, c. Đếm số bước tối thiểu để đưa cả 3 về 0. Mỗi bước trừ 1 từ 2 số bất kỳ.
Ví dụ
Input: a=4, b=4, c=6
Output: 7
Giải thích: Các bước: (4,4,6)->(3,3,6)->(2,3,5)->(1,3,4)->(0,3,3)->(0,2,2)->(0,1,1)->(0,0,0). Tổng 7 bước.
Cách giải
Sắp xếp 3 số tăng dần. Nếu tổng 2 số nhỏ < số lớn -> trả về tổng 2 số nhỏ. Ngược lại: (a+b+c)//2 bước (vì mỗi bước trừ 2 đơn vị tổng).
Ví dụ
def maxScore(a, b, c):
a, b, c = sorted((a, b, c))
if a + b < c:
return a + b
return (a + b + c) // 2
a, b, c = 4, 4, 6
print(maxScore(a, b, c))Kết quả
7
Với a=4,b=4,c=6 -> 7 bước đưa về 0.