#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdlib>
#include<map>
#include<set>
#include<vector>
using namespace std;
int k[10000005];
set<int>all;
map<int ,int >m;
int main()
{+
int p,n,s,e,ans;
while(~scanf("%d",&p))
{
ans=p;
for(int i=0;i<p;i++)
{
int a;
scanf("%d",&k[i]);
all.insert(k[i]);
}
n=all.size();
int num=0;
s=e=0;
while(1)
{
while(e<p && num<n)
{
if(m[k[e]]==0)
{
num++;
}
m[k[e]]++;
e++;
}
if(num<n)
break;
ans=min(ans,e-s);
if(--m[k[s]]==0)
num--;
s++;
}
printf("%d\n",ans);
}
// system("pause");
return 0;
}
07-18
07-18
07-18
07-18
07-18
07-18
07-18
07-18
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交