407998: GYM102961 L Collecting Numbers II

Memory Limit:256 MB Time Limit:0 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

L. Collecting Numbers IItime limit per test2.0 smemory limit per test256 megabytesinputstandard inputoutputstandard output

You are given an array that contains each number between $$$1\dots n$$$ exactly once. Your task is to collect the numbers from $$$1$$$ to $$$n$$$ in increasing order.

On each round, you go through the array from left to right and collect as many numbers as possible.

Given $$$m$$$ operations that swap two numbers in the array, your task is to report the number of rounds after each operation.

Input

The first line has two integers $$$n$$$ and $$$m$$$: the array size and the number of operations.

The next line has $$$n$$$ integers $$$x_1,x_2,\dots,x_n$$$: the numbers in the array.

Finally, there are $$$m$$$ lines that describe the operations. Each line has two integers $$$a$$$ and $$$b$$$: the numbers at positions a and b are swapped.

Constraints:

  • $$$1 \le n,m \le 2\cdot 10^5$$$
  • $$$1 \le a,b \le n$$$
Output

Print m integers: the number of rounds after each swap.

ExampleInput
5 3
4 2 1 5 3
2 3
1 5
2 3
Output
2
3
4

加入题单

算法标签: