Thứ Năm, 7 tháng 4, 2016

BEAR AND DISPLAYED FRIENDS

Nguồn http://codeforces.com/contest/639/problem/A

Limak là một chú gấu Bắc cực, nó kết nối với bạn bè thông qua mạng xã hội. Nó có n bạn bè và mối quan hệ của nó với người bạn thứ i được mô tả bằng 1 số nguyên ti . Số ti càng lớn thể hiện tình bạn càng lớn. Không có hai người bạn nào có cùng ti.
Mùa xuân đến báo hiệu kỳ ngủ đông đã kết thúc. Limak vừa thức dậy đã đăng nhập vào mạng xã hội. Tất cả bạn bè của nó vẫn còn ngủ do đó không ai trong số họ trực tuyến. Một số hoặc tất cả bạn bè của nó sẽ trực tuyến trong thời gian tiếp theo.
Hệ thống hiện thị những người bạn đang trực tuyến. Trên màn hình chỉ hiện thị được k bạn bè, đó là những người bạn đang trực tuyến và có ti lớn nhất.
Nhiệm vụ của bạn là xử lý các truy vấn gồm 2 loại:
“1 id” – id của người bạn mới trực tuyến, trước đó người bạn này chưa trực tuyến.
“2 id” – Kiểm tra xem id được hiện thị trên hệ thống hay không? In “YES” hoặc “NO” trong 1 dòng tương ứng là đang trực tuyến hoặc không trực tuyến.
Bạn có thể giúp Limak và trả lời tất cả các truy vân của loại thứ hai?
Dữ liệu vào:
+ Dòng đầu tiên chứa ba số nguyên n, kq (1 ≤ n, q ≤ 150 000, 1 ≤ k ≤ min (6, n)) - số lượng bạn bè, số lượng tối đa của bạn bè trực tuyến hiển thị và số lượng các truy vấn.
+ Dòng thứ hai chứa n số nguyên t1, t2, ..., tn (1 ≤ ti ≤ 109), nơi ti mô tả như thế nào tốt là mối quan hệ Limak với người bạn thứ i.
+ Dòng thứ i của q dòng tiếp theo chứa 2 số nguyên typeiIdi (1<=typei<=2; Idi<=n)  thể hiện truy vấn thứ i. Nếu Typei=1 thì người bạn Idi trực tuyến, nếu Idi =2 thì bạn cần kiểm tra xem bạn Idi được hiện thị hay không?
Dữ liệu đảm bảo một người chỉ trực tuyến nhiều nhất 1 lần và có ít nhất 1 truy vấn dạng “2 typei
Kết quả: Đối với mỗi truy vấn của loại thứ hai in một dòng với câu trả lời - "YES" (không có dấu ngoặc kép), nếu các bạn sẽ được hiển thị và "NO" (không có dấu ngoặc kép) trong trường hợp ngược lại.
Input
Output

Input
Output
4 2 8
300 950 500 200
1 3
2 4
2 3
1 1
1 2
2 1
2 2
2 3
NO
YES
NO
YES
YES


6 3 9
50 20 51 17 99 24
1 3
1 4
1 5
1 2
2 4
2 2
1 1
2 4
2 3

NO
YES
NO
YES

Giải thích: Trong ví dụ 1
1.  "1 3" — bạn có Id=3 trực tuyến.
2.  "2 4" — Kiểm tra bạn có Id=4 trực tuyến chưa. Vẫn chưa trực tuyến nên ghi  "NO".
3.  "2 3" — Kiểm tra bạn có Id=3 trực tuyến chưa. Đang trực tuyến và được hiện thị. Ghi kết quả "YES".
4.  "1 1" — Bạn có Id=1 trực tuyến. Hệ thống hiện thị cả bạn 1 và 3.
5.  "1 2" — Bạn có Id=2 trực tuyến. Bây giờ có 3 bạn trực tuyến nhưng chỉ hiện thị được 2 (k=2). Limak có mối quan hệ tình bạn với người bạn thứ 2 và 3 tốt hơn (t1 < t2, t3) do vậy ngươi bạn 1 không hiện thị
6.  "2 1" — ghi "NO".
7.  "2 2" — ghi "YES".
8.  "2 3" — ghi "YES".