mình chỉ làm được ví dụ một thôi còn ví dụ 2 mình làm không được nên bạn cứ dùng tạm code này nha bạn ,để mình sẽ nghiên cứu cách làm ví dụ 2:
def choose_water_can(n, k, can):
can.sort(reverse=True) # Sắp xếp can theo thứ tự giảm dần
count = 0
total_water = 0
i = 0
while total_water < k:
total_water += can[i]
count += 1
i += 1
return count
# Đọc input
n, k = map(int, input().split())
can = list(map(int, input().split()))
# Tìm số lần tối thiểu cần đong nước
min_count = choose_water_can(n, k, can)
# In kết quả
print(min_count)