Tập con may mắn
Xem dưới dạng PDF
Gửi bài giải
Điểm:
10
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
64M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Tèo có một dãy số \(a_1, a_2, ..., a_n\) và một số \(S\). Tèo tự hỏi: liệu có thể chọn ra một tập con (không nhất thiết liên tiếp) của dãy sao cho tổng các phần tử bằng \(S\)?
Vì \(N\) nhỏ (\(N \le 20\)), Tèo có thể dùng bitmask để duyệt toàn bộ \(2^N\) tập con.
Input:
- Dòng 1: Hai số \(N\) và \(S\) (\(1 \le N \le 20\), \(1 \le S \le 10^9\))
- Dòng 2: \(N\) số nguyên \(a_i\) (\(1 \le a_i \le 10^9\))
Output:
In ra YES nếu tồn tại tập con có tổng bằng \(S\), ngược lại in ra NO.
Ví dụ: Input:
5 10
2 5 3 7 1
Output:
YES
Nhận xét