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...