[ITK20 TST] Xếp vòng tròn

Xem PDF

Nộp bài


Điểm: 15 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 512M

Tác giả:
Dạng bài

Để chào mừng ngày Quốc tế phụ nữ 08/03/2023, các bạn nam của lớp ITK20 đã quyết định tổ chức một tiết mục sôi động ở sân trường. Có tổng cộng \(n\) bạn nam, mỗi bạn sẽ nắm giữ một nhãn (con số) phân biệt từ \(1\) đến \(n\). Đầu tiên, \(n\) bạn xếp thành một vòng tròn, mỗi bạn sẽ nắm tay hai bạn xung quanh mình. Để tạo sự ấn tượng cho các bạn nữ trong lớp nói riêng và toàn trường nói chung, một cặp bạn nam bất kỳ trong vòng tròn sẽ buông tay nhau ra để làm "đứt gãy" vòng tròn thành một dãy số (theo nhãn mà mỗi bạn nắm giữ như dữ kiện phía trên), và dãy số này bắt buộc phải được sắp xếp theo chiều tăng dần. Ví dụ, nếu nhãn của các bạn nam trên vòng tròn là \(3\) \(4\) \(1\) \(2\), ta có thể yêu cầu hai bạn nam mang nhãn \(4\) và \(1\) buông tay nhau ra để tạo thành dãy số \(1\) \(2\) \(3\) \(4\), thỏa mãn yêu cầu trên. Ngược lại, nếu nhãn của các bạn lần lượt là \(2\) \(1\) \(4\) \(3\), ta sẽ không thể tìm được một điểm "đứt gãy" nào để tạo được một dãy được sắp xếp tăng dần.

Cho trước một cách xếp vòng tròn của các bạn lớp ITK20 và \(q\) truy vấn, mỗi truy vấn có dạng \(x\) \(y\), thể hiện mệnh lệnh của lớp trưởng muốn hoán đổi vị trí của bạn nam mang nhãn \(x\) với bạn nam mang nhãn \(y\). Bạn hãy lập trình để xác định xem liệu đội hình học sinh nam ITK20 sau mỗi truy vấn có khả năng tồn tại một điểm "đứt gãy" để tạo ra sự ấn tượng của các bạn nữ không nhé!


Input

Dòng đầu chứa hai số nguyên dương \(n\) và \(q\) \((1\leq n,q\leq 300000)\), lần lượt thể hiện số lượng học sinh nam của ITK20 và số lượng truy vấn.

Dòng tiếp theo chứa \(n\) số nguyên dương \(a_i\) \((1\leq a_i\leq n)\), với \(a_i\) là nhãn của bạn nam thứ \(i\) trên vòng tròn.

Dòng thứ \(i\) trong \(q\) dòng tiếp theo chứa hai số nguyên dương \(x_i\), \(y_i\) (\(1\leq x_i,y_i\leq n\), \(x_i\ne y_i\)) mô tả truy vấn hoán đổi vị trí của học sinh nam mang nhãn \(x_i\) với học sinh nam mang nhãn \(y_i\).


Output

In ra \(q\) dòng. Dòng thứ \(i\) in ra YES nếu cấu hình sau khi hoán đổi có tồn tại điểm "đứt gãy" tạo được sự ấn tượng đối với các bạn nữ, ngược lại in ra NO.

Ví dụ

Sample input 1
5 2
2 3 4 5 1
1 3
3 1
Sample output 1
NO
YES
Sample input 2
4 2
2 3 1 4
4 2
3 4
Sample output 2
NO
YES
Giải thích

Minh họa vòng tròn học sinh, lần lượt ở trạng thái ban đầu và sau khi thực hiện các truy vấn theo thứ tự:

vòng tròn học sinh

Sample input 3
6 5
2 1 5 6 3 4
3 1
3 4
3 2
4 5
5 4
Sample output 3
NO
NO
YES
NO
YES

Ràng buộc

  • Subtask 1 (30 điểm): \(n,q\leq 500\).
  • Subtask 2 (30 điểm): \(n,q\leq 5000\).
  • Subtask 3 (40 điểm): Không có ràng buộc gì thêm.