JOI 2026 - Legendary Dango Eater
Xem PDFBitaro mua một xiên dango dài để ăn nhẹ. Các viên dango được xếp thành một cột từ trên xuống dưới và chia thành các khối liên tiếp. Có \(N\) số nguyên dương \(A_1,A_2,\ldots,A_N\); khối \(i\) gồm \(A_i\) viên dango. Khối lẻ có vị ngọt, khối chẵn có vị cay. Đặt \(s_0=0\) và \(s_i=A_1+\cdots+A_i\), nên khối \(i\) chiếm các vị trí từ \(s_{i-1}+1\) đến \(s_i\) tính từ trên xuống.
Bitaro có \(Q\) kế hoạch. Kế hoạch \(j\) cho bởi \(L_j,R_j\), và Bitaro chỉ ăn các viên từ vị trí \(s_{L_j-1}+1\) đến \(s_{R_j}\).
Trong một kế hoạch, Bitaro ăn từ trên xuống dưới trong vùng đã chọn, mỗi viên đúng một lần, chia tùy ý thành các miếng liên tiếp không rỗng. Một miếng làm Bitaro vui nếu số viên ngọt trừ số viên cay trong miếng đó không nhỏ hơn \(K\). Với mỗi kế hoạch, hãy tìm số miếng làm Bitaro vui lớn nhất có thể.
Dữ liệu vào
Dòng đầu gồm \(N,Q,K\). Dòng thứ hai gồm \(A_1,A_2,\ldots,A_N\). \(Q\) dòng tiếp theo, dòng \(j\) gồm \(L_j,R_j\).
Dữ liệu ra
In \(Q\) dòng. Dòng \(j\) là số lần Bitaro có thể vui nhiều nhất trong kế hoạch \(j\).
Ràng buộc
- \(1\le N,Q\le500000\).
- \(1\le K\le10^{14}\).
- \(1\le A_i\le10^9\).
- \(1\le L_j\le R_j\le N\).
Mọi giá trị trong dữ liệu vào đều là số nguyên.
Phân nhóm
- \(6\) điểm: \(Q\le10\).
- \(5\) điểm: \(K\le2\).
- \(18\) điểm: \(K\le10\).
- \(27\) điểm: \(A_1+\cdots+A_N\le500000\).
- \(17\) điểm: \(N,Q\le200000\).
- \(27\) điểm: không có ràng buộc thêm.
Ví dụ
Ví dụ 1
Input
5 2 1
2 1 2 4 3
1 5
2 4
Output
7
2
Giải thích
Với kế hoạch thứ nhất, Bitaro ăn các viên từ vị trí \(1\) đến \(12\). Nếu mỗi miếng chỉ gồm một viên, cậu vui \(7\) lần. Không thể làm cậu vui từ \(8\) lần trở lên, nên in \(7\).
Với kế hoạch thứ hai, Bitaro ăn các viên từ vị trí \(3\) đến \(9\). Nếu mỗi miếng chỉ gồm một viên, cậu vui \(2\) lần. Không thể làm cậu vui từ \(3\) lần trở lên, nên in \(2\).
Ví dụ này thỏa mãn mọi bài toán con.
Ví dụ 2
Input
5 2 3
2 1 2 4 3
1 5
2 4
Output
2
0
Giải thích
Ví dụ này chỉ khác ví dụ \(1\) ở giá trị \(K\). Với kế hoạch thứ nhất, Bitaro có thể vui \(2\) lần bằng cách ăn bốn miếng như sau:
- Miếng thứ nhất gồm các viên từ vị trí \(1\) đến \(5\), có \(4\) viên ngọt và \(1\) viên cay, nên Bitaro vui.
- Miếng thứ hai chỉ gồm viên ở vị trí \(6\), có \(0\) viên ngọt và \(1\) viên cay, nên Bitaro không vui.
- Miếng thứ ba gồm các viên từ vị trí \(7\) đến \(9\), có \(0\) viên ngọt và \(3\) viên cay, nên Bitaro không vui.
- Miếng thứ tư gồm các viên từ vị trí \(10\) đến \(12\), có \(3\) viên ngọt và \(0\) viên cay, nên Bitaro vui.
Không thể làm cậu vui từ \(3\) lần trở lên, nên in \(2\). Với kế hoạch thứ hai, không có cách ăn nào làm Bitaro vui dù chỉ một lần, nên in \(0\).
Ví dụ này thỏa mãn các bài toán con \(1, 3, 4, 5, 6\).
Ví dụ 3
Input
9 4 50
24 26 89 45 84 72 15 31 66
1 9
2 8
4 6
5 6
Output
3
2
1
1
Giải thích
Ví dụ này thỏa mãn các bài toán con \(1, 4, 5, 6\).
Nguồn
JOI 2025/2026 Final Stage, Cuộc thi 1, bài Legendary Dango Eater, Japanese Committee for IOI. Bản dịch được đối chiếu với đề gốc tiếng Nhật và bản tiếng Anh. Đề gốc, bản dịch và bản điều chỉnh được cung cấp theo CC BY-SA 4.0.
Kỳ thi:
- JOI 2026 - Chung kết - Cuộc thi 1 (21 Tháng ba, 2026)
Bình luận