Cho \(n\) đoạn dây thép, đoạn dây thứ \(i\ \)có độ dài \(l_{i}\). Cần phải cắt các đoạn đã cho thành các đoạn nhỏ sao cho thu được ít nhất \(k\ \)đoạn dây thép bằng nhau có độ dài là số nguyên dương. Có thể không cần cắt hết các đoạn dây thép đã cho. Mỗi đoạn dây thép 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 các đoạn dây thép có thể nhận được. Nếu không có cách cắt thì ghi ra số 0.
Dữ liệu vào:
+ Dòng đầu tiên chứa 2 số \(n,\ k\ (1 \leq n \leq 10^{5};1 \leq k \leq 10^{9})\).
+ Dòng thứ \(i\) trong \(n\) dòng sau chứa số \(l_{i}\ \left( 1 \leq l_{i} \leq 10^{9} \right).\)
Kết quả:
+ Ghi một số duy nhất là kết quả của bài toán.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
4 11 803 750 455 436 | 200 | Đoạn thứ nhất cắt được 4 đoạn độ dài 200, đoạn thứ hai cắt được 3 đoạn độ dài 200, đoạn thứ ba cắt được 2 đoạn độ dài 200, đoạn thứ tư cắt được 2 đoạn độ dài 200. |
Ràng buộc:
+ Có 75% test có \(n < 10^{4},\ l_{i} \leq 10^{4};\)
+ Có 25% test có \(10^{4} < n \leq 10^{5}.\)
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |