题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1000010,M=2010;
int n,m;
int c[N],s[M];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)scanf("%d ",&c[i]);
int res = n+1;
int colors = 0;
for(int i=1,j=0;i<=n;i++)
{
if(c[i] && !s[c[i]]) colors++;
s[c[i]]++;
if(colors == m)
{
while(!c[j]||s[c[j]]>1)
{
s[c[j]]--;
j++;
}
res = min(res,i-j+1);
}
if(i == n && colors < m)
res = -1;
}
cout<< res <<endl;
return 0;
}