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

Bài 5 · Lập trình

Bắn súng

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

Đề bài

Trong buổi tập bắn súng, có NN tấm bia được xếp thành một hàng dọc, đánh số từ 1 tới NN. Độ bền của các tấm bia được mô tả bởi dãy số AA, tấm bia thứ ii có độ bền ban đầu là AiA_i. Một tấm bia được coi là bị phá hủy nếu độ bền của nó giảm xuống nhỏ hơn hoặc bằng 0 (khi này coi độ bền của tấm bia là 0).

Xạ thủ được quyền chọn một loại đạn có sức công phá XX (với XX là số nguyên dương tùy ý) để sử dụng cho toàn bộ buổi tập. Mỗi lần bắn, xạ thủ bắn một viên đạn thẳng dọc theo hàng các tấm bia, viên đạn sẽ trúng tấm bia đầu tiên chưa bị phá hủy (tấm bia thứ ii có chỉ số nhỏ nhất và độ bền Ai>0A_i > 0). Do đạn có tính xuyên phá nên sẽ gây ảnh hưởng lên tấm bia thứ ii và các tấm bia thứ jj phía sau nó (j≥ij \ge i). Độ bền của tấm bia thứ jj (i≤j≤Ni \le j \le N) bị giảm một lượng theo công thức: max⁡(0,X−(j−i)2)\max(0, X - (j - i)^2).

Ví dụ: với X=5X = 5, có 6 tấm bia với độ bền lần lượt là [0,2,5,0,1,2][0, 2, 5, 0, 1, 2], viên đạn đầu tiên trúng vào tấm bia thứ 2, sẽ gây ảnh hưởng cho các tấm bia thứ 2,3,5,62, 3, 5, 6 (vì tấm bia 1 và 4 có độ bền bằng 0), độ bền của các tấm bia bị giảm được tính như sau:

  • Tấm bia thứ 2: max⁡(0,5−(2−2)2)=max⁡(0,5−02)=5\max(0, 5 - (2 - 2)^2) = \max(0, 5 - 0^2) = 5.
  • Tấm bia thứ 3: max⁡(0,5−(3−2)2)=max⁡(0,5−12)=4\max(0, 5 - (3 - 2)^2) = \max(0, 5 - 1^2) = 4.
  • Tấm bia thứ 5: max⁡(0,5−(5−2)2)=max⁡(0,5−32)=0\max(0, 5 - (5 - 2)^2) = \max(0, 5 - 3^2) = 0.
  • Tấm bia thứ 6: max⁡(0,5−(6−2)2)=max⁡(0,5−42)=0\max(0, 5 - (6 - 2)^2) = \max(0, 5 - 4^2) = 0.

Vậy sau lượt bắn này, độ bền của các tấm bia là [0,0,1,0,1,2][0, 0, 1, 0, 1, 2].

Yêu cầu: Hãy tìm giá trị sức công phá XX nhỏ nhất sau cho xạ thủ có thể phá hủy toàn bộ các tấm bia khi bắn không quá KK lần.

Dữ liệu vàoBANSUNG.INP

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

  • Dòng đầu chứa hai số nguyên dương N,KN, K (N≤2×105;K≤109N \le 2 \times 10^5; K \le 10^9) tương ứng là số tấm bia và số lần bắn tối đa.
  • Dòng tiếp theo chứa NN số nguyên dương mô tả dãy AA (Ai≤109;1≤i≤NA_i \le 10^9; 1 \le i \le N).

Kết quả raBANSUNG.OUT

Kết quả ghi ra file văn bản BANSUNG.OUT: Gồm một số nguyên dương XX nhỏ nhất tìm được.

Ràng buộc

  • Có 30% số test ứng với 30% số điểm có N,K≤30; Ai≤30N, K \le 30;\ A_i \le 30.
  • 20% số test tiếp theo ứng với 20% số điểm có K=1K = 1.
  • 30% số test tiếp theo ứng với 30% số điểm có N≤1000N \le 1000.
  • 20% số test còn lại 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àoBANSUNG.INP
6 3
6 7 1 3 2 1
Kết quả raBANSUNG.OUT
5

Giải thích

Ở ví dụ đầu tiên, chọn X=5X = 5.

Ở lần bắn đầu tiên, tấm bia ii đầu tiên có Ai>0A_i > 0 là tấm bia 1. Quá trình ảnh hưởng như sau:

  • Sức công phá gây lên tấm bia 1 là: max⁡(0,5−(1−1)2)=5\max(0, 5 - (1 - 1)^2) = 5.
  • Sức công phá gây lên tấm bia 2 là: max⁡(0,5−(2−1)2)=4\max(0, 5 - (2 - 1)^2) = 4.
  • Tương tự, sức công phá gây lên các tấm bia thứ 3, 4, 5, 6 lần lượt là 1, 0, 0, 0.
  • Vậy độ bền còn lại là A=[1,3,0,3,2,1]A = [1, 3, 0, 3, 2, 1].

Ở lần bắn thứ hai, tấm bia ii đầu tiên có Ai>0A_i > 0 là tấm bia 1. Quá trình ảnh hưởng như sau:

  • Sức công phá lên các tấm bia thứ 1, 2, 4, 5, 6 lần lượt là 5, 4, 0, 0, 0.
  • Độ bền các tấm bia là A=[0,0,0,3,2,1]A = [0, 0, 0, 3, 2, 1].

Ở lần bắn thứ ba, tấm bia ii đầu tiên có Ai>0A_i > 0 là tấm bia 4. Sức công phá lên các tấm bia thứ 4, 5, 6 lần lượt là 5, 4, 1. Khi này tất cả các tấm bia đều bị phá hủy.

Ví dụ 2

Dữ liệu vàoBANSUNG.INP
3 1
3 7 3
Kết quả raBANSUNG.OUT
8

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