Phân Trang

Xem dạng PDF

Gửi bài giải


Điểm: 0,13 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Ðề thi chọn đội tuyển quốc gia 99
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Văn bản là một dãy gồm ~N~ từ, đánh số từ ~1~ đến ~N~. Từ thứ ~i~ có độ dài là ~w_i~ ~(i = 1~, ~2~, ...~N)~. Phân trang là một cách xếp lần lượt các từ của văn bản vào dãy các dòng, mỗi dòng có độ dài ~L~, sao cho tổng độ dài của các từ trên cùng một dòng không vượt quá ~L~. Ta gọi hệ số phạt của mỗi dòng trong cách phân trang là hiệu số ~(L-S)~, trong đó ~S~ là tổng độ dài của các từ xếp trên dòng đó. Hệ số phạt của cách phân trang là giá trị lớn nhất trong số các hệ số phạt của các dòng. Tìm cách phân trang với hệ số phạt nhỏ nhất.

Input

  • Dòng ~1~ chứa ~2~ số nguyên dương ~N~, ~L~ ~(N \le 6000~, ~L \le 1000)~
  • Dòng thứ ~i~ trong số ~N~ dòng tiếp theo chứa số nguyên dương ~w_i~ ~(w_i \le L)~, ~i = 1~, ~2~, ..., ~N~

Output

  • In ra hệ số phạt nhỏ nhất

Sample Input

4 5
3
2
2
4

Sample Output

2

Bình luận

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



  • 10
    Duy_e  đã bình luận lúc 29, Tháng 5, 2021, 15:14

    :< thì ra là làm tuần tự