//#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<map>
#include<set>
using namespace std;
int n,a[1000100];
set<int>all;
map<int,int>mp;
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]),all.insert(a[i]);
int len=all.size();
int res=n;
int l=0,r=0,cmp=0;
while(true)
{
while(r<n&&cmp<len)
if(mp[a[r++]]++==0) cmp++;
if(cmp<len) break;
res=min(res,r-l);
if(--mp[a[l++]]==0) cmp--;
}
printf("%d\n",res);
return 0;
}