Bạn sẽ tham gia vào một gameshow. Một trong những thách thức hoạt động như sau:
- Phòng đầu tiên chứa một số lượng lớn các quả bóng giống hệt nhau.
- Phòng thứ hai chứa một loạt các máng, mỗi máng có một cảm biến để đếm xem có bao nhiêu quả bóng được đặt trong đó. Một quả bóng được đặt trong máng không thể lấy lại được.
- Mỗi máng sẽ kích hoạt sau khi một số lượng bóng nhất định ( số lần kích hoạt của nó ) đã được đặt vào nó. Khi nó kích hoạt, nó sẽ nháy đèn, tạo ra tiếng ồn và khiến bạn không nghi ngờ gì rằng nó đã được kích hoạt.
- Bạn phải kích hoạt
N
máng để tiếp tục thử thách tiếp theo. - Bạn biết số lần kích hoạt, nhưng không phải là sự tương ứng giữa đếm và máng.
- Bạn có một cơ hội để đưa bóng từ phòng thứ nhất vào phòng thứ hai. Một khi bạn đặt một quả bóng vào máng, bạn không thể quay lại để lấy thêm bóng.
- Mỗi quả bóng mà bạn lấy tiền từ giải độc đắc.
Rõ ràng bạn muốn đảm bảo rằng bạn sẽ vượt qua thử thách, nhưng bạn muốn giảm thiểu việc mất tiền jackpot. Viết chương trình, chức năng, động từ, v.v. để cho bạn biết bạn cần bao nhiêu quả bóng.
Thí dụ
Giả sử số lượng kích hoạt là 2, 4 và 10, và bạn cần kích hoạt 2 máng để vượt qua. Có một chiến lược để vượt qua với 10 quả bóng: đặt tối đa 4 quả bóng trong máng thứ nhất, tối đa 4 quả bóng trong máng thứ hai và tối đa 4 quả bóng trong máng thứ ba. Vì một trong ba máng sẽ kích hoạt chỉ sau 2 quả bóng, bạn chỉ sử dụng tổng cộng 10. Không có chiến lược nào được đảm bảo hoạt động với ít hơn 10, vì vậy đó là đầu ra chính xác.
Đầu vào
Đầu vào bao gồm một mảng số lượng kích hoạt số nguyên và một số nguyên cho số lượng máng để kích hoạt. Bạn có thể lấy hai đầu vào theo thứ tự, và nếu cần, bạn có thể lấy đầu vào thứ ba với độ dài của mảng.
Bạn có thể giả định rằng tất cả các đầu vào đều lớn hơn 0 và số lượng các máng phải được kích hoạt không vượt quá số lượng các máng.
Bạn cũng có thể giả định rằng số đếm được sắp xếp (tăng dần hoặc giảm dần), miễn là bạn nêu rõ điều đó trong câu trả lời của mình.
Đầu ra
Đầu ra phải là một số nguyên duy nhất, đưa ra số lượng bóng theo yêu cầu của chiến lược tối ưu.
Các trường hợp thử nghiệm
Định dạng: N counts solution
1 [2 4 10] 6
2 [2 4 10] 10
3 [2 4 10] 16
1 [3 5 5 5 5 5 5 5 5 5] 5
2 [1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 8 11] 8
2 [1 2 6 6 6 6 6 6 6 10] 16
2 [1 2 3 3 4 4 6 6 6 11] 17
3 [1 2 3 4 5 5 6] 16
3 [2 4 7 7 7 7 7 7 7] 21
5 [1 2 2 3 3 3 3 3 5 9 9 11] 27
2 [5 15 15] 25
1 [4 5 15] 10
3 [1 4 4 4] 10
2 [1 3 4] 6
2 [1 3 3 8] 8