题目描述
给定一个长度为 n 的数列 a1,a2,…,an(1≤ai≤n)。
你可以对这个数列进行任意次操作。
每次操作,你可以选择任意一个整数 x,然后将数列 a 中所有数值等于 x 的 ai 都置为 0(即对于任意 1≤i≤n,若 ai=x,则 ai←0)。
你希望使用最少的操作次数,使得数列变成一个非降的数列,即 a1≤a2≤a3≤…≤an。
求:使数列变成一个非降序列所需的最少操作次数?
输入格式
第一行,一个整数 n(1≤n≤2⋅105),表示数列大小。
第二行,n 个整数 a1,a2,…,an(1≤ai≤n)。
输出格式
输出一个整数,表示是数列 a 变成一个非降序列所需的最少操作次数。
input1
3
3 3 2
output1
1
input2
4
1 3 1 3
output2
2
说明/提示
样例解释
样例1:选择 x=3,操作后数列变为 [0,0,2];
样例2:第一次操作选择 x=1,第二次操作选择 x=3,数列变为 [0,0,0,0]。
数据规模与约定
- 对于 20% 的数据,n≤20
- 对于 50% 的数据,n≤2000
- 对于 100% 的数据,1≤n≤2⋅105;1≤ai≤n