CF BUDDY
← Problems·

1705E · Mark and Professor Koro

2300 · binary search, bitmasks, brute force

Problem: After watching a certain anime before going to sleep, Mark dreams of standing in an old classroom with a blackboard that has a sequence of nn positive integers a1,a2,,ana_1, a_2,\dots,a_n on it.

Then, professor Koro comes in. He can perform the following operation:

  • select an integer xx that appears at least 22 times on the board,
  • erase those 22 appearances, and
  • write x+1x+1 on the board.

Professor Koro then asks Mark the question, "what is the maximum possible number that could appear on the board after some operations?"

Mark quickly solves this question, but he is still slower than professor Koro. Thus, professor Koro decides to give Mark additional challenges. He will update the initial sequence of integers qq times. Each time, he will choose positive integers kk and ll, then change aka_k to ll. After each update, he will ask Mark the same question again.

Help Mark answer these questions faster than Professor Koro!

Note that the updates are persistent. Changes made to the sequence aa will apply when processing future updates.

Input Format: The first line of the input contains two integers nn and qq (2n21052\leq n\leq 2\cdot 10^5, 1q21051\leq q\leq 2\cdot 10^5) — the length of the sequence aa and the number of updates, respectively.

The second line contains nn integers a1,a2,,ana_1,a_2,\dots,a_n (1ai21051\leq a_i\leq 2\cdot 10^5)

Then, qq lines follow, each consisting of two integers kk and ll (1kn1\leq k\leq n, 1l21051\leq l\leq 2\cdot 10^5), telling to update aka_k to ll.

Output Format: Print qq lines. The ii-th line should consist of a single integer — the answer after the ii-th update.

Note: In the first example test, the program must proceed through 44 updates.

The sequence after the first update is [2,3,2,4,5][2,3,2,4,5]. One sequence of operations that achieves the number 66 the following.

  • Initially, the blackboard has numbers [2,3,2,4,5][2,3,2,4,5].
  • Erase two copies of 22 and write 33, yielding [3,4,5,3][3,4,5,\color{red}{3}].
  • Erase two copies of 33 and write 44, yielding [4,5,4][4,5,\color{red}{4}].
  • Erase two copies of 44 and write 55, yielding [5,5][5,\color{red}{5}].
  • Erase two copies of 55 and write 66, yielding [6][\color{red}{6}].

Then, in the second update, the array is changed to [2,3,2,4,3][2,3,2,4,3]. This time, Mark cannot achieve 66. However, one sequence that Mark can use to achieve 55 is shown below.

  • Initially, the blackboard has [2,3,2,4,3][2,3,2,4,3].
  • Erase two copies of 22 and write 33, yielding [3,4,3,3][3,4,3,\color{red}{3}].
  • Erase two copies of 33 and write 44, yielding [3,4,4][3,4,\color{red}{4}].
  • Erase two copies of 44 and write 55, yielding [3,5][3,\color{red}{5}].

In the third update, the array is changed to [2,3,2,1,3][2,3,2,1,3]. One way to achieve 44 is shown below.

  • Initially, the blackboard has [2,3,2,1,3][2,3,2,1,3].
  • Erase two copies of 33 and write 44, yielding [2,2,1,4][2,2,1,\color{red}{4}].

Sample Cases

Case 1

Input

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

Output

6
5
4
5

Case 2

Input

2 1
200000 1
2 200000

Output

200001

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback