CSES - Collecting Numbers II | Thu thập số II

Xem PDF

Điểm: 1600 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn được cho một mảng mà chứa mỗi số giữa \(1\ldots n\) chính xác một lần. Nhiệm vụ của bạn là thu thập các số từ $14 đến \(n\) theo thứ tự tăng dần.

Trong mỗi vòng, bạn đi qua mảng từ trái sang phải và thu thập nhiều số nhất có thể.

Cho \(m\) thao tác hoán đổi hai số trong mảng, nhiệm vụ của bạn là báo cáo số lượng vòng sau mỗi thao tác.

Input

  • Dòng đầu tiên có hai số nguyên \(n\)\(m\): kích thước mảng và số lượng phép toán.
  • Dòng tiếp theo có \(n\) số nguyên \(x_1,x_2,\ldots,x_n\): các số trong mảng.
  • Cuối cùng, có \(m\) dòng mô tả các thao tác. Mỗi dòng có hai số nguyên \(a\)\(b\): các số tại vị trí \(a\)\(b\) được hoán đổi.

Output

  • In \(m\) số nguyên: số lượng vòng sau mỗi lần hoán đổi.

Constraints

  • \(1 \le n,m \le 2 \cdot 10^5\)
  • \(1 \le a,b \le n\)

Example

Sample input

5 3
4 2 1 5 3
2 3
1 5
2 3

Sample output

2
3
4


Bình luận


  • 2
    dbthuan208    9:44 p.m. 14 Tháng 6, 2023

    bạn chỉnh lại đi sai chỗ $14 kìa phải là \(1\)