#GD0000017. Phản ví dụ đổi tiền tham lam (Coin Change Counterexample)
Phản ví dụ đổi tiền tham lam (Coin Change Counterexample)
Phản ví dụ đổi tiền tham lam (Coin Change Counterexample)
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho mệnh giá đồng xu dương, phân biệt và luôn có mệnh giá , cùng số tiền . Có vô hạn xu mỗi loại. Thuật toán tham lam được định nghĩa là luôn lấy đồng lớn nhất không vượt phần tiền còn lại. Hãy tính số xu mà thuật toán tham lam dùng và số xu tối ưu thật sự. Sau đó kết luận tham lam có thất bại trên dữ liệu này hay không.
Input
Dòng đầu chứa . Dòng thứ hai chứa mệnh giá phân biệt.
Output
Dòng 1 in số xu của tham lam. Dòng 2 in số xu tối ưu. Dòng 3 in FAIL nếu tham lam dùng nhiều xu hơn tối ưu, ngược lại in OK.
Subtask
Các giới hạn chung:
-
.
-
.
-
.
-
Các phân biệt và có một .
-
Subtask 1 (20 điểm): ,
-
Subtask 2 (30 điểm): ,
-
Subtask 3 (50 điểm): Không có ràng buộc bổ sung.
Ví dụ
Input
3 6
1 3 4
Output
3
2
FAIL
Giải thích
Tham lam lấy nên dùng xu. Tối ưu lấy nên chỉ dùng xu. Vì , kết luận FAIL.