水题,按要求玩就行
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <queue>
#include <cstring>
#include <vector>
using namespace std;
#define maxn 100005
int N, M, Q;
int student[maxn], place[maxn];
int main()
{
//freopen("input.txt", "r", stdin);
scanf("%d%d%d", &N, &M, &Q);
int A, B;
for (int i = 1; i <= N; ++i)
{
scanf("%d", &B);
student[i] = B;
place[B]++;
}
int sum = 0;
for (int i = 1; i <= M; ++i)
{
if (place[i] == 0)
++sum;
}
while (Q--)
{
scanf("%d%d", &A, &B);
place[student[A]]--;
if (place[student[A]] == 0)
{
++sum;
}
student[A] = B;
place[B]++;
if (place[B] == 1)
{
--sum;
}
printf("%d\n", sum);
}
//system("pause");
//while (1);
return 0;
}