题目描述
一个长度为 �n 的数字串,数字串里会包含 1∼�1∼m 这些数字。
如果在连续的一段子串中,包含了 1∼�1∼m 的全部数字,则称此子串为原数字串的 “小可爱串”。
你的任务是求出长度最短的 ���NUM 串,若找到,输出其长度即可。
输入格式
第一行两个整数 �,�n,m ;
第二行 �n 个数,表示原数字串,数字间用空格隔开。
输出格式
如果找到 “小可爱串”,则输出最短的一个 “小可爱串” 的长度,否则输出 NO
。
样例输入
5 3
1 2 2 3 1
样例输出
3
数据范围
对于 100%100% 的数据 :1≤n,m≤200000。
代码:
#include<bits/stdc++.h>
using namespace std;
int a[200010],b[200010];
int sum,n,m,mn=20000000;
int j=1;
int main() {
cin>>n>>m;
for(int i=1; i<=n; i++) {
cin>>a[i