Bedao Mini Contest 08 - CHECKARRAY

Xem dạng PDF

Gửi bài giải


Điểm: 0,10 (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++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Khánh có mảng ~a~ gồm ~n~ số nguyên ~a_1, a_2, \dots, a_n~. Khánh có thể thực hiện thao tác sau với bất kỳ số lần nào:

  • Chọn ~i~, ~j~ ~(i \ne j)~ sao cho ~|a_i − a_j| \le 1~
  • Xóa phần tử nhỏ hơn trong ~2~ số (~a_i~ hoặc ~a_j~). Nếu ~2~ số bằng nhau, có thể xóa bất kỳ số nào.

Bạn hãy giúp Khánh xác định xem có thể thu được mảng ~a~ chỉ còn ~1~ phần tử sau một số lần thực hiện thao tác trên hay không?

Input

  • Dòng đầu tiên chứa số nguyên ~n~ ~(1 \le n \le 50)~
  • Dòng tiếp theo chứa ~n~ phần tử ~a_1, a_2, \dots, a_n~ ~(1 \le a_i \le 150)~

Output

  • In ra YES nếu có thể hoặc NO nếu không thể.

Sample Input

3
1 2 2

Sample Output

YES

Subtask

  • ~40\%~ số test có ~1 \le n \le 5~.
  • ~60\%~ số test còn lại không có điều kiện gì thêm.

Giải thích

  • Đầu tiên chọn ~i = 1~, ~j = 3~, ta có ~|a_1 - a_3| \le 1~, số nhỏ hơn là ~a_1~. Dãy sau khi xóa ~a_1~ là ~[2, 2]~.
  • Tiếp tục chọn ~i = 1~, ~j = 2~. Dãy cuối cùng là ~[2]~.

Bình luận

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



  • -1
    tqphuc  đã bình luận lúc 27, Tháng 9, 2024, 7:44 chỉnh sửa

    .


  • -32
    minhcity01  đã bình luận lúc 17, Tháng 12, 2021, 10:41

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.