Thứ Sáu, 29 tháng 7, 2016

DEVARRAY-Devu and an Array

Devu có một mảng A chứa N số nguyên dương. Anh ta sẽ thực hiện những thao tác sau đây trên mảng này.
§ Chọn hai số a, b trong mảng (a có thể giống với b, nhưng chỉ số tương ứng của hai số đó trong dãy không được giống nhau). Xóa cả hai phần tử ab và thay vào đó thêm số x với x nằm giữa min(a, b)max(a, b). (tất là min(a, b) ≤ x ≤ max(a, b)).
Giờ như đã biết sau khi thực hiện thao tác đó N – 1 lần, Devu sẽ chỉ còn lại một số duy nhất trong mảng. Anh đang tự hỏi rằng liệu có thể thực hiện các thao tác theo một cách nào đó mà số cuối cùng là t.
Anh ta nhờ bạn giúp tìm câu trả lời cho Q truy vấn, mỗi truy vấn sẽ chứa một số nguyên t và bạn phải xác định xem liệu có cách nào mảng kết thúc bằng t không.
Dữ liệu vào
Chỉ có một bộ test trong mỗi tập tin dữ liệu.
Dòng đầu tiên của dữ liệu vào chứa hai số nguyên cách nhau bởi khoảng trắng N, Q lần lượt là số lượng phần tử trong A và số lương truy vấn mà Devu nhờ bạn.
Dòng thứ hai chứa N số nguyên cách nhau bởi khoảng trắng là nội dung của mảng A.
Mỗi dòng trong Q dòng tiếp theo sẽ chứa một số nguyên t tương ứng với từng truy vấn.
Dữ liệu ra
Xuất ra Q dòng, mỗi dòng chứa “Yes” hoặc “No” (không có dấu nháy kép) tương ứng với câu trả lời cho mỗi truy vấn.
Ràng buộc
·  1 ≤ N, Q105
·  0 ≤ t109
Giới hạn
Subtask #1 : 30   điểm
·  1 ≤ Ai2
Subtask #2 : 70 điểm
·  1 ≤ Ai109
Ví dụ
Input 1:
1 2
1
1
2
Output:
Yes
No
Input 2:
2 4
1 3
1
2
3
4
Output:
Yes
Yes
Yes
No
Giải thích
Trong ví dụ 1, Devu không thể áp dụng bất kỳ thao tác nào. Vì cuối phần tử cuối cùng trong mảng sẽ là 1.

Trong ví dụ 2, Devu có thể thế 1 và 3 với một số bất kỳ giữa 1, 2, 3. Vì vậy kết quả cuối cùng của mảng có thể là 1, 2 hoặc 3.