Cắt cáp mạng
Xem dạng PDFTrung tâm Công nghệ Thông tin chuẩn bị đi dây cho một phòng máy mới. Trong kho còn ~n~ cuộn cáp mạng, cuộn thứ ~i~ dài ~a_i~ cm. Để nối các máy tính với thiết bị chuyển mạch, kỹ thuật viên cần ít nhất ~k~ đoạn cáp có độ dài bằng nhau.
Kỹ thuật viên chọn một độ dài ~L~ là số nguyên dương (đơn vị cm) rồi cắt các cuộn cáp thành những đoạn dài đúng ~L~ cm. Mỗi đoạn phải được cắt liền từ một cuộn, không được nối các mẩu cáp lại với nhau; từ một cuộn có thể cắt ra nhiều đoạn, phần cáp thừa ngắn hơn ~L~ ở mỗi cuộn bị bỏ đi. Đoạn cáp càng dài thì việc đi dây càng thuận tiện.
Yêu cầu
Hãy tìm số nguyên dương ~L~ lớn nhất sao cho có thể cắt được ít nhất ~k~ đoạn cáp dài ~L~ cm. Nếu không tồn tại độ dài nào như vậy (ngay cả với ~L = 1~ cũng không đủ ~k~ đoạn), hãy đưa ra số ~0~.
Dữ liệu vào
- Dòng thứ nhất chứa hai số nguyên dương ~n~ và ~k~;
- Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, \ldots, a_n~, các số cách nhau bởi dấu cách.
Kết quả ra
Ghi ra một số nguyên duy nhất là độ dài ~L~ lớn nhất tìm được (hoặc số ~0~).
Ràng buộc
~1 \le n \le 10^5~; ~1 \le a_i \le 10^9~; ~1 \le k \le 10^9~.
- Subtask 1 (20% số điểm – test 01–04): ~n = 1~;
- Subtask 2 (30% số điểm – test 05–10): ~n \le 1000~ và ~a_i \le 1000~;
- Subtask 3 (50% số điểm – test 11–20): không có ràng buộc bổ sung.
Lưu ý: tổng số đoạn cắt được có thể vượt quá phạm vi kiểu số nguyên 32 bit.
Ví dụ
Dữ liệu vào mẫu 1
4 11
802 743 457 539
Kết quả ra mẫu 1
200
Dữ liệu vào mẫu 2
2 10
4 5
Kết quả ra mẫu 2
0
Giải thích
Ví dụ thứ nhất: với ~L = 200~ bốn cuộn lần lượt cho ~4~, ~3~, ~2~, ~2~ đoạn, tổng cộng ~11~ đoạn; với ~L = 201~ chỉ còn ~3 + 3 + 2 + 2 = 10~ đoạn, không đủ. Ví dụ thứ hai: ngay cả khi ~L = 1~ cũng chỉ cắt được ~4 + 5 = 9~ đoạn, ít hơn ~k = 10~, nên đáp án là ~0~.
Bình luận