对于一个长度为 k 的子数组,若它的 mex≥x,说明它必须包含所有数 0,1,…,x−1。
由于原数组是 0 到 n−1 的排列,每个数只出现一次。设包含 0,1,…,x−1 这些数的位置最左为 L,最右为 R,那么任意子数组想要包含这些数,长度至少需要:
R−L+1给定长度为 n 的排列 {a1,a2,…,an},对 1≤k≤n 定义
f(k)=i=1maxn−k+1(mex(ai,ai+1,…,ai+k−1))求区间 [1,n−1] 中有多少 k 满足 f(k)=f(k+1)。
mex 是没有出现在数组中的最小非负整数;长度 n 的排列是由 0,1,…,n−1 按任意顺序构成的数组(每个值恰好出现一次)。
第一行包含整数 n(2≤n≤105)。
第二行包含 n 个整数 a1,a2,…,an(0≤ai≤n−1)。
一个整数,表示满足条件的 k 的个数。
输入
5
2 3 1 0 4
输出
1
本题属于以下题库,请选择所需题库进行购买
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册