HSG9 Tây Ninh 2026 - Bài 1
Xem dạng PDFNhân dịp đi du lịch, An đã mua $n$ quả táo $(2 \le n \le 1000)$ về làm quà cho $k$ bạn $(2 \le k \le 20)$. Mỗi quả táo có trọng lượng 50g hoặc 100g. Bây giờ An muốn chia đều $n$ quả táo trên thành các phần có trọng lượng bằng nhau để chia cho $k$ bạn. Bạn hãy giúp An chia $n$ quả táo trên thành $k$ phần có trọng lượng bằng nhau được không (Khi chia $k$ phần, các quả táo đều nguyên vẹn).
Yêu cầu: a) Viết chương trình kiểm tra có thể chia được $n$ quả táo với $k$ phần có trọng lượng bằng nhau được không. b) Nếu chia được thì xuất kết quả danh sách trọng lượng các quả táo đã chia cho từng người, nếu có nhiều cách chia như ví dụ bên dưới thì chỉ lấy $1$ kết quả.
Dữ liệu vào
- Dòng 1: Chứa 2 số nguyên $n$ và $k$ ~(2 \le n \le 1000; 2 \le k \le 20)~ biểu thị số lượng các quả táo và số người bạn, cách nhau một khoảng trắng.
- Dòng 2: Chứa $n$ số nguyên ~a_1, a_2, \dots, a_n~ là trọng lượng các quả táo mà An đã mua. Dữ liệu vào đảm bảo chỉ có hai trường hợp $a_i = 50$ hoặc ~a_i = 100~, các số cách nhau một khoảng trắng.
Kết quả ra
- Dòng 1: Ghi
YESnếu chia được, ghiNOnếu không chia được. - Nếu chia được, $k$ dòng tiếp theo ghi danh sách trọng lượng các quả táo đã chia cho từng người.
Ví dụ 1
Dữ liệu
3 2
50 100 50
Kết quả
YES
50 50
100
Giải thích
Đây là một trong các cách chia hợp lệ. Ngoài ra có thể chia người thứ nhất nhận 100g, người thứ hai nhận 50g và 50g.
Ví dụ 2
Dữ liệu
4 4
50 50 50 100
Kết quả
NO
Bình luận