Ước chung tốt
Đề bài
Mô tả
Cho một danh sách gồm số nguyên dương . Danh sách được gọi là xấu nếu nó không rỗng và ước chung lớn nhất của tất cả các số trong danh sách bằng . Ngược lại, danh sách được gọi là tốt (tức là danh sách rỗng, hoặc ước chung lớn nhất của các số lớn hơn ).
Bạn được phép thực hiện hai loại thao tác:
- Chọn một số bất kỳ và xóa nó khỏi danh sách, với chi phí .
- Chọn một số bất kỳ và tăng giá trị của nó thêm , với chi phí . Thao tác này có thể áp dụng nhiều lần lên cùng một số.
Hãy tìm tổng chi phí nhỏ nhất để biến danh sách thành danh sách tốt.
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- In ra một số nguyên duy nhất: tổng chi phí nhỏ nhất để danh sách trở thành tốt.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 23 17 1 17 17 16 |
40 | Xóa số (chi phí ) và tăng số lên (chi phí ). Danh sách còn lại là có ước chung lớn nhất bằng . Tổng chi phí . |
| 10 6 2 100 49 71 73 66 96 8 60 41 63 |
10 | Đưa mọi phần tử về bội của : chỉ cần tăng , , , , , mỗi lần một đơn vị với chi phí , tổng . |
Bình luận