Bài 3: Đóng gói sản phẩm (HSG 9 Nghệ An 2025-2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Công ty của gia đình Alice có \(n\) sản phẩm với khối lượng lần lượt là \(a_1, a_2, \dots, a_n\). Công ty sẽ đóng gói thành các kiện hàng để gửi cho khách. Mỗi kiện hàng có đúng \(k\) sản phẩm và khối lượng của các kiện hàng đều bằng nhau. Khối lượng của một kiện hàng bằng tổng khối lượng của \(k\) sản phẩm trong kiện hàng đó. Chú ý là, một sản phẩm thuộc nhiều nhất một kiện hàng.

Alice muốn biết Công ty của gia đình mình có thể đóng gói được nhiều nhất bao nhiêu kiện hàng.

Input

  • Dòng đầu tiên ghi hai số nguyên dương \(n, k\) (\(1 \le k \le 3; 1 \le n \le 10^5\)).
  • Dòng thứ hai ghi \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 1000\)).

Output

  • Gồm một số nguyên là số lượng kiện hàng nhiều nhất có thể đóng gói được.

Example

Test 1

Input
5 1
1 6 6 4 6
Output
3
Note

Đóng gói được nhiều nhất \(3\) kiện hàng, mỗi kiện hàng gồm \(1\) sản phẩm. Đó là các sản phẩm thứ \(2, 3, 5\). Các sản phẩm này đều có khối lượng bằng \(6\).

Test 2

Input
5 2
1 6 6 4 6
Output
1
Note

Đóng gói được nhiều nhất một kiện hàng gồm \(2\) sản phẩm. Có thể lấy hai sản phẩm bất kì để đóng gói thành \(1\) kiện hàng.

Test 3

Input
10 3
1 2 3 3 2 2 2 1 1 1
Output
3
Note

Đóng gói được nhiều nhất \(3\) kiện hàng, mỗi kiện hàng gồm \(3\) sản phẩm. Cụ thể, \(3\) kiện hàng, mỗi kiện hàng gồm \(3\) sản phẩm có khối lượng như sau:

  • \(\{1, 2, 2\} \rightarrow\) tổng khối lượng bằng \(5\).
  • \(\{1, 2, 2\} \rightarrow\) tổng khối lượng bằng \(5\).
  • \(\{1, 1, 3\} \rightarrow\) tổng khối lượng bằng \(5\).

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): Ứng với \(k = 1, n \le 1000\).
  • Subtask \(2\) (\(40\%\) số điểm): Ứng với \(k = 2\).
  • Subtask \(3\) (\(20\%\) số điểm): Ứng với \(k = 3, 1 \le a_i \le 3\).

Bình luận (2)

Mới nhất
Tải bình luận...