[CSES 1191] Cyclic Array

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ớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Cho một mảng vòng gồm ~n~ giá trị. Mỗi phần tử có hai láng giềng; các phần tử ở vị trí ~n~ và ~1~ cũng được coi là láng giềng.

Nhiệm vụ của bạn là chia mảng thành các đoạn con sao cho tổng của mỗi đoạn con không vượt quá ~k~. Hỏi số lượng đoạn con tối thiểu là bao nhiêu?

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~.

Dòng tiếp theo chứa ~n~ số nguyên ~x\_1,x\_2,\ldots,x\_n~: nội dung của mảng.

Luôn tồn tại ít nhất một cách chia (tức là không có giá trị nào trong mảng lớn hơn ~k~).

Kết quả

In ra một số nguyên: số lượng đoạn con tối thiểu.

Giới hạn

  • ~1 \le n \le 2 \cdot 10^5~
  • ~1 \le x\_i \le 10^9~
  • ~1 \le k \le 10^{18}~

Ví dụ

Dữ liệu vào:

8 5
2 2 2 1 3 1 2 1

Kết quả:

3

Giải thích: Ta có thể tạo ba đoạn con: ~[2,2,1]~, ~[3,1]~, và ~[2,1,2]~ (nhớ rằng mảng là mảng vòng).


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.