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

Không có ý kiến tại thời điểm này.