atcoder#AGC017C. [AGC017C] Snuke and Spells

[AGC017C] Snuke and Spells

配点 : 10001000

問題文

NN 個のボールが一列に並んでいます. 左から ii 番目のボールには,最初整数 AiA_i が書かれています.

すぬけ君が魔法を唱えると,これらのボールは次のようにして消滅します:

  • ボールがちょうど kk 個あるとき,kk が書かれているボールすべてが同時に消滅する.

すぬけ君の目標は,魔法を何回か唱えることでボールをすべて消滅させることです. これは不可能な場合があるので,すぬけ君はできるだけ少ない個数のボールに書かれている整数を変更することで,この目標を達成できるようにしたいです.

これらのボールは,書かれている整数が全部で MM 回自然に変化することがわかっています. jj 回目の変化においては,左から XjX_j 番目のボールに書かれている整数が YjY_j に変わります.

各変化の後の状態で,次の変化が起こる前にすぬけ君が目標を達成しようとするとき,少なくとも何個のボールに書かれている整数を変更する必要があるかを求めてください.すぬけ君は整数の変更を十分速く行うことができるものとします.ただし,すぬけ君は実際には整数の変更を行わないことに注意してください.

制約

  • 1N2000001 \leq N \leq 200000
  • 1M2000001 \leq M \leq 200000
  • 1AiN1 \leq A_i \leq N
  • 1XjN1 \leq X_j \leq N
  • 1YjN1 \leq Y_j \leq N

部分点

  • 500500 点分のテストケースでは,N200N \leq 200 および M200M \leq 200 が成り立つ.

入力

入力は以下の形式で標準入力から与えられる。

NN MM

A1A_1 A2A_2 ... ANA_N

X1X_1 Y1Y_1

X2X_2 Y2Y_2

:

XMX_M YMY_M

出力

MM 行出力せよ. jj 行目には,jj 回目の変化の後で,すぬけ君が目標を達成するためには,少なくとも何個のボールに書かれている整数を変更する必要があるかを出力せよ.

5 3
1 1 3 4 5
1 2
2 5
5 4
0
1
1
  • 11 回目の変化の後,ボールに書かれている整数は左のボールから順に 2,1,3,4,52, 1, 3, 4, 5 になります.この状態ですぬけ君が 55 回魔法を唱えると,すべてのボールが消滅します.そのため,00 個のボールに書かれている整数を変更すればよいです.
  • 22 回目の変化の後,ボールに書かれている整数は左のボールから順に 2,5,3,4,52, 5, 3, 4, 5 になります.この場合,少なくとも 11 個のボールに書かれている整数を変更する必要があります.例えば,左から 55 番目のボールに書かれている整数を 22 に変更した後,すぬけ君が 44 回魔法を唱えればよいです.
  • 33 回目の変化の後,ボールに書かれている整数は左のボールから順に 2,5,3,4,42, 5, 3, 4, 4 になります.この場合,少なくとも 11 個のボールに書かれている整数を変更する必要があります.例えば,左から 33 番目のボールに書かれている整数を 22 に変更した後,すぬけ君が 33 回魔法を唱えればよいです.
4 4
4 4 4 4
4 1
3 1
1 1
2 1
0
1
2
3
10 10
8 7 2 9 10 6 6 5 5 4
8 1
6 3
6 2
7 10
9 7
9 9
2 4
8 1
1 8
7 7
1
0
1
2
2
3
3
3
3
2