poj这个XX,用注释的语句输入3e6都超时
//代码风格要一贯啊。。。
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <map>
#include <set>
using namespace std;
typedef long long LL;
int N,a[1000005],ans,sum;
map<int,int>ma;
set<int>t;
int main()
{
//ios::sync_with_stdio(false);
scanf("%d",&N);
//cin>>N;
for(int i=1;i<=N;i++)
{
scanf("%d",&a[i]);
//cin>>a[i];
t.insert(a[i]);
}
ans=N;
for(int l=1,r=1;r<=N;r++)
{
if(++ma[a[r]]==1)sum++;
if(sum<t.size())continue;
while(l<r&&ma[a[l]]>1)ma[a[l++]]--;
ans=min(ans,r-l+1);
}
cout<<ans;
return 0;
}