DÂY CÁP
Xem dạng PDF
Gửi bài giải
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
Cho n đoạn dây cáp, đoạn dây thứ i có độ dài ai. Cần phải cắt các đoạn dây thành các đoạn sao cho có được k đoạn dây bằng nhau có độ dài nguyên. Có thể không cần cắt hết các đoạn dây đã cho. Mỗi đoạn dây bị cắt có thể có phần còn thừa khác 0.
Yêu cầu: Xác định độ dài lớn nhất của đoạn dây có thể nhận được. Nếu không có cách cắt thì đưa ra số 0.
Dữ liệu vào đọc từ tập DAYCAP.INP:
- Dòng đầu tiên chứa hai số nguyên dương n, k. (1 < n ≤ 10^5,1 ≤ k ≤ 10^18).
- Tiếp theo là n dòng, dòng thứ i trong n dòng này chứa số nguyên dương a; (1 < a; ≤ 10), là độ dài của dây cáp thứ 2.
Dữ liệu ra ghi vào tệp DAYCAP.OUT: Gồm một số duy nhất là kết quả bài toán.
Ví dụ:
DAYCAP.INP
3 5
48
29
6
DAYCAP.OUT
14
Giải thích: Cắt 3 đoạn dây có độ dài lần lượt là 48, 29, 6 để có 5 đoạn dài nhất với độ dài bằng nhau, cách cắt tối ưu là:
- Dây thứ 1: Cắt được 3 đoạn độ dài 14
- Dây thứ 2: Cắt được 2 đoạn độ dài 14
Phần dư còn lại của 3 dây tương ứng là 6, 1, 6.
Bình luận