Bài 4. Xóa đoạn (HSG 9 Hà Nội 2025-2026)
Xem PDFCho dãy số nguyên \(A\) gồm \(N\) phần tử \(A_1, A_2, ..., A_N\) và số nguyên \(S\). Bạn có thể xóa đi một đoạn con liên tiếp bất kỳ trong dãy (tức là chọn hai chỉ số \(L, R\) với \(1 \leq L \leq R \leq N\) và xóa các phần tử \(A_L, A_{L+1}, ..., A_R\)). Quy ước: Nếu xóa hết dãy thì tổng còn lại bằng \(0\).
Yêu cầu: Tìm độ dài nhỏ nhất của đoạn con cần xóa sao cho tổng các phần tử còn lại của dãy không vượt quá \(S\). Nếu không cần xóa đoạn nào thì kết quả là \(0\), nếu không có cách xóa thỏa mãn thì kết quả là \(-1\).
Input
- Dòng đầu tiên chứa số nguyên dương \(N\) \((N \leq 10^5)\)
- Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, ..., A_N\) \((|A_i| \leq 10^5; 1 \leq i \leq N)\)
- Dòng thứ ba chứa số nguyên \(S\) \((|S| \leq 10^{14})\)
Output
- Gồm một số nguyên là kết quả của bài toán
Example
Test 1
Input
5
4 -5 4 4 -2
0
Output
2
Note
Tổng dãy ban đầu là 5, cần tổng dãy nhỏ hơn hoặc bằng 0. Có thể xóa đoạn [3, 4] có tổng là 8 ⇒ tổng còn lại là 5 - 8 = -3 ≤ 0. Kết quả là 2.
Test 2
Input
3
4 2 1
0
Output
3
Note
Tổng dãy ban đầu là 7, cần tổng dãy nhỏ hơn hoặc bằng 0. Có thể xóa đoạn [1, 3] có tổng là 7 ⇒ tổng còn lại là 7 - 7 = 0 ≤ 0. Kết quả là 3.
Test 3
Input
3
1 2 3
-2
Output
-1
Note
Tổng dãy ban đầu là 6, cần tổng dãy nhỏ hơn hoặc bằng -2. Không có cách xóa thỏa mãn.
Test 4
Input
3
1 2 0
5
Output
0
Note
Tổng dãy ban đầu là 3, cần tổng dãy nhỏ hơn hoặc bằng 5. Không cần xóa đoạn nào.
Scoring
- \(40\%\) số test ứng với \(40\%\) số điểm có \(N \leq 100; A_i \geq 0\)
- \(20\%\) số test tiếp theo ứng với \(20\%\) số điểm có \(N \leq 5000; A_i \geq 0\)
- \(20\%\) số test tiếp theo ứng với \(20\%\) số điểm có \(A_i \geq 0\)
- \(20\%\) số test còn lại ứng với \(20\%\) số điểm không có ràng buộc gì thêm
Kỳ thi:
- Học sinh giỏi 9 Hà Nội 2025-2026 (29 Tháng ba, 2026)
Bình luận (2)