[RCOJ Educational Contest #01] Chia tập

Xem dạng PDF

Gửi bài giải

Điểm: 800,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho một dãy gồm ~n~ số nguyên dương ~a_1,a_2,...,a_n~.

Hỏi có thể chia bao nhiêu dãy này thành hai tập con có tổng bằng nhau hay không?

Yêu cầu:

  • In ra YES nếu có thể chia dãy thành hai tập con có tổng bằng nhau.
  • Ngược lại, in ra NO.

Input

  • Dòng thứ nhất có một số nguyên dương ~n~ - số lượng phần tử trong dãy (~1 \leq n \leq 100~).
  • Dòng thứ hai chứa ~n~ số nguyên dương ~a_1,a_2,...,a_n~ (~1 \leq a_i \leq 1000~).

Output

  • In ra YES nếu có thể chia dãy thành hai tập con có tổng bằng nhau.
  • Ngược lại, in ra NO.

Example input 1

4
1 5 11 5

Example output 1

YES

Note 1

  • Có thể chia thành hai tập con:
    • Tập thứ nhất: ~{11}~.
    • Tập thứ hai: ~{5,5,1}~. → Tổng mỗi tập đều là 11.

Example input 2

3
1 2 5

Example output 2

NO

Note 2

  • Không thể chia thành hai tập con có tổng bằng nhau.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.