#155. Chia đoạn dãy số (DIVIDE)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một dãy số nguyên dương A_i có độ dài N . Cần chia dãy này thành các đoạn liên tiếp sao cho tổng của mỗi đoạn không vượt quá M (có thể bằng M ). Hỏi có thể chia thành ít nhất bao nhiêu đoạn để thỏa mãn yêu cầu.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên dương N, M , biểu thị độ dài của dãy số A_i và giá trị tổng tối đa của mỗi đoạn.
  • Dòng thứ hai chứa N số nguyên không âm A_i được phân tách bằng dấu cách.

Kết quả:

  • Xuất ra một số nguyên dương duy nhất là số đoạn ít nhất cần chia.

Ví dụ:

Dữ liệu:

5 6
4 2 4 5 1

Kết quả:

3

Giới hạn:

  • Đối với 20\% dữ liệu, N \le 10 .
  • Đối với 40\% dữ liệu, N \le 1000 .
  • Đối với 100\% dữ liệu, N \le 10^5, M \le 10^9 , và M lớn hơn giá trị lớn nhất trong dãy số.