Chọn số
Xem PDF
Điểm:
1300 (p)
Thời gian:
1.0s
Bộ nhớ:
1G
Input:
bàn phím
Output:
màn hình
Cho \(n, k\) và dãy \(a_1, a_2, \dots, a_n\). Hãy tìm các cách chọn nhiều phần tử nhất trong dãy \(a\) sao cho có tổng không vượt quá \(k\).
Input
Dữ liệu vào:
- Dòng đầu tiên chứa hai số nguyên \(n\) và \(k\).
- Dòng thứ hai chứa \(n\) số nguyên phân biệt \(a_1, a_2, \dots, a_n\) (\(a_i \le 10^3, k \le 10^3\)).
Output
Kết quả:
- Dòng 1: Đưa ra số lượng nhiều nhất các phần tử được chọn.
- Các dòng tiếp theo, mỗi dòng ghi một cách chọn nhiều nhất các phần tử thỏa mãn.
Example
Test 1
Input
5 6
1 3 2 4 5
Output
3
1 3 2
Note
Các cách có tổng nhỏ hơn hoặc bằng \(6\) thì cách chọn \(\{1, 3, 2\}\) có nhiều phần tử nhất.
Scoring
- Subtask \(1\) (\(20\%\) số điểm): \(n \le 20\).
- Subtask \(2\) (\(30\%\) số điểm): \(20 < n \le 100\).
- Subtask \(3\) (\(50\%\) số điểm): \(100 < n \le 10^3\).
Bình luận