Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 4 · Lập trình

Xóa đoạn

Điểm
3 điểm
Tên chương trình
XOADOAN.*
Vào / Ra
XOADOAN.INP → XOADOAN.OUT

Đề bài

Cho dãy số nguyên AA gồm NN phần tử A1,A2,…,ANA_1, A_2, \ldots, A_N và số nguyên SS. 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,RL, R với 1≤L≤R≤N1 \le L \le R \le N và xóa các phần tử AL,AL+1,…,ARA_L, A_{L+1}, \ldots, 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á SS. 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-1.

Dữ liệu vàoXOADOAN.INP

Dữ liệu vào từ file văn bản XOADOAN.INP:

  • Dòng đầu tiên chứa số nguyên dương NN (N≤105N \le 10^5).
  • Dòng thứ hai chứa NN số nguyên A1,A2,…,ANA_1, A_2, \ldots, A_N (∣Ai∣≤109;1≤i≤N|A_i| \le 10^9; 1 \le i \le N).
  • Dòng thứ ba chứa số nguyên SS (∣S∣≤1014|S| \le 10^{14}).

Kết quả raXOADOAN.OUT

Kết quả ghi ra file văn bản XOADOAN.OUT: Gồm một số nguyên là kết quả của bài toán.

Ràng buộc

  • Có 40% số test ứng với 40% số điểm có N≤100; Ai≥0N \le 100;\ A_i \ge 0.
  • 20% số test tiếp theo ứng với 20% số điểm có N≤5000; Ai≥0N \le 5000;\ A_i \ge 0.
  • 20% số test tiếp theo ứng với 20% số điểm có Ai≥0A_i \ge 0.
  • 20% số test tiếp theo ứng với 20% số điểm không có ràng buộc gì thêm.

Ví dụ

Ví dụ 1

Dữ liệu vàoXOADOAN.INP
5
4 -5 4 4 -2
0
Kết quả raXOADOAN.OUT
2

Giải thích

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][3, 4] có tổng là 8⇒8 \Rightarrow tổng còn lại là 5−8=−3≤05 - 8 = -3 \le 0. Kết quả là 2.

Ví dụ 2

Dữ liệu vàoXOADOAN.INP
3
4 2 1
0
Kết quả raXOADOAN.OUT
3

Giải thích

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][1, 3] có tổng là 7⇒7 \Rightarrow tổng còn lại là 7−7=0≤07 - 7 = 0 \le 0. Kết quả là 3.

Ví dụ 3

Dữ liệu vàoXOADOAN.INP
3
1 2 3
-2
Kết quả raXOADOAN.OUT
-1

Giải thích

Tổng dãy ban đầu là 6, cần tổng dãy nhỏ hơn hoặc bằng −2-2. Không có cách xóa thỏa mãn.

Ví dụ 4

Dữ liệu vàoXOADOAN.INP
3
1 2 0
5
Kết quả raXOADOAN.OUT
0

Giải thích

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.

Thuộc đề thi

Kỳ thi chọn học sinh giỏi lớp 9 cấp thành phố năm học 2025-2026 — Môn thi: Tin học

Hà Nội · Cấp thành phố · Năm học 2025-2026