Tìm Kiếm Và Thêm Phần Tử

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ớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

An đang xây dựng danh bạ điện thoại cá nhân chứa danh sách các số định danh đối tác. Do số lượng đối tác lớn và liên tục biến động, An cần một hệ thống hỗ trợ 2 thao tác cơ bản sau:

  • 1 X: Thêm một số định danh đối tác \(X\) vào danh bạ. Nếu \(X\) đã tồn tại, vẫn thêm bình thường.
  • 2 X: Tìm kiếm xem số định danh \(X\) đã có trong danh bạ chưa.

Hãy giúp An lập trình giải quyết bài toán trên một cách hiệu quả.

Định dạng đầu vào

  • Dòng đầu chứa hai số nguyên dương \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)).
  • Dòng hai chứa \(N\) số nguyên đại diện cho các số định danh ban đầu trong danh bạ.
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên type và \(X\) (\(type \in \{1, 2\}\), \(-10^9 \le X \le 10^9\)).

Định dạng đầu ra

  • Với mỗi yêu cầu tìm kiếm (loại 2), in ra YES nếu tìm thấy số định danh \(X\), ngược lại in ra NO.

Ràng buộc & Subtasks

  • Subtask 1 (40% số điểm): \(N, Q \le 1000\).
  • Subtask 2 (60% số điểm): \(N, Q \le 10^5\), các số định danh nằm trong khoảng \([-10^9, 10^9]\).

Ví dụ

Input:

5 4
1 3 5 7 9
2 5
1 10
2 10
2 4

Output:

YES
YES
NO

Nhận xét

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