Cắt cáp mạng

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Trung 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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.