Chia Nhóm Cùng Kai
View as PDF
Submit solution
Points:
1.00
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Author:
Problem types
Cho hai mảng ~A~ gồm ~N~ số nguyên dương và ~B~ gồm ~M~ số nguyên dương.
Hãy xác định liệu có thể chia toàn bộ ~N~ phần tử của mảng ~A~ thành đúng ~M~ nhóm sao cho tổng các phần tử của nhóm thứ ~j~ bằng ~B_j~ hay không.
Mỗi phần tử của ~A~ phải thuộc đúng một nhóm, mỗi nhóm có ít nhất một phần tử. Các phần tử trong cùng một nhóm không cần liên tiếp trong mảng ban đầu.
Cấu hình Input
- Dòng đầu tiên chứa hai số nguyên ~N, M~ ~(1 ≤ N, M ≤ 20)~.
- Dòng thứ hai chứa ~N~ số nguyên ~A_1, A_2, ..., A_N~ ~(1 ≤ A_i ≤ 10^9)~.
- Dòng thứ ba chứa ~M~ số nguyên ~B_1, B_2, ..., B_M~ ~(1 ≤ B_j ≤ 10^9)~.
Cấu hình Output
In ra YES nếu có thể chia mảng thỏa mãn yêu cầu, ngược lại in ra NO.
Ví dụ 1
Input
5 2
5 1 4 2 3
9 6
Output
YES
Giải thích
Có thể chia mảng ~A~ thành hai nhóm:
- Nhóm 1: ~\{5, 4\}~, có tổng bằng ~9~.
- Nhóm 2: ~\{1, 2, 3\}~, có tổng bằng ~6~.
Ví dụ 2
Input
3 2
2 2 2
3 3
Output
NO
Giải thích
Mặc dù tổng hai mảng đều bằng ~6~, không tồn tại cách chia các phần tử của ~A~ thành hai nhóm có tổng đều bằng ~3~.
Loading...