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

Bài 3 · Lập trình

Dãy số

Điểm
5 điểm
Thời gian
1 giây
Bộ nhớ
1024 MB
Tên chương trình
arr.*
Vào / Ra
arr.inp → arr.out

Đề bài

Cho một dãy gồm nn số nguyên a1,a2,…,ana_1, a_2, \ldots, a_n và các số nguyên b,k1,k2b, k_1, k_2. Bạn được thực hiện tối đa k1+k2k_1 + k_2 phép toán trên các phần tử của dãy để giảm tổng các phần tử của dãy số đã cho.

  • Phép toán loại 1: Chọn một số aia_i bất kì của dãy và thay thế số aia_i bằng số [ai2]\left[\frac{a_i}{2}\right] (chia đôi và lấy phần nguyên, ví dụ [172]=8\left[\frac{17}{2}\right] = 8). Bạn được sử dụng tối đa k1k_1 phép toán loại 1.
  • Phép toán loại 2: Chọn một số aia_i bất kì của dãy và thay thế aia_i bằng giá trị lớn nhất của hai số ai−ba_i - b và 00 (trừ đi bb đơn vị, nếu kết quả âm thì lấy bằng 00). Bạn được sử dụng tối đa k2k_2 phép toán loại 2.

Quy tắc: Với mỗi số aia_i trong dãy, bạn có thể chọn: không phép toán nào, chỉ phép toán loại 1, chỉ phép toán loại 2, hoặc dùng cả hai phép toán, mỗi phép toán được thực hiện tối đa 1 lần với số aia_i. Nếu dùng cả hai loại trên cùng một số, bạn có thể thực hiện theo thứ tự tùy ý.

Yêu cầu: Hãy tìm tổng nhỏ nhất của dãy số sau khi sử dụng tối đa k1k_1 phép toán loại 1 và k2k_2 phép toán loại 2.

Dữ liệu vàoarr.inp

Từ tệp văn bản arr.inp,

  • Dòng đầu chứa 4 số nguyên n,b,k1,k2n, b, k_1, k_2 (1≤n≤3001 \le n \le 300; 1≤b≤1091 \le b \le 10^9; 0≤k1,k2≤n0 \le k_1, k_2 \le n);
  • Dòng thứ hai chứa nn số nguyên dương aia_i (1≤ai≤1091 \le a_i \le 10^9).

Các số trên một dòng của dữ liệu vào được ghi cách nhau bởi một dấu cách.

Kết quả raarr.out

Ghi ra tệp văn bản arr.out,

  • Một số nguyên duy nhất là tổng nhỏ nhất tìm được.

Ràng buộc

  • Ràng buộc 1: 30% số test ứng với 30% số điểm của bài có k2=0k_2 = 0;
  • Ràng buộc 2: 30% số test ứng với 30% số điểm của bài có a1=a2=…=ana_1 = a_2 = \ldots = a_n;
  • Ràng buộc 3: 40% số test ứng với 40% số điểm của bài có n,k1,k2≤300n, k_1, k_2 \le 300, các giá trị đầu vào khác không có ràng buộc gì thêm.

Ví dụ

Ví dụ 1

Dữ liệu vàoarr.inp
7 4 2 0
1 2 1 8 3 5 7
Kết quả raarr.out
19

Ví dụ 2

Dữ liệu vàoarr.inp
7 4 2 1
1 2 1 8 3 5 7
Kết quả raarr.out
15

Ví dụ 3

Dữ liệu vàoarr.inp
7 9 4 5
19 2 1 8 8 5 5
Kết quả raarr.out
1

Giải thích

Giải thích test 3: Thực hiện phép toán loại 1 với a1a_1 thì a1=[192]=9a_1 = \left[\frac{19}{2}\right] = 9. Tiếp theo thực hiện 5 phép toán loại 2 với các phần tử a1,a4,a5,a6,a7a_1, a_4, a_5, a_6, a_7 ta được dãy mới: 0, 2, 1, 0, 0, 0, 0. Sau đó thực hiện 3 phép toán loại 1 với các phần tử a2,a3,a4a_2, a_3, a_4 ta được dãy mới: 0, 1, 0, 0, 0, 0, 0 có tổng bằng 1.

Ví dụ 4

Dữ liệu vàoarr.inp
7 9 4 4
8 8 8 8 8 8 8
Kết quả raarr.out
12

Thuộc đề thi

Kỳ thi chọn học sinh giỏi cấp tỉnh THCS năm 2026 — Môn thi: Tin học

Quảng Ninh · Cấp tỉnh · Năm học 2025-2026