Pagini recente » Cod sursa (job #2664828) | Cod sursa (job #2670271) | Cod sursa (job #2384030) | Cod sursa (job #1973757) | Cod sursa (job #1555121)
#include <cstdio>
#include <set>
#define Nmax 5010
#define inf 1<<30
using namespace std;
set <int> S;
set <int>::iterator it;
int v[Nmax];
int main()
{
int n,i,j,sz,poz = inf;
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
scanf("%d",&n);
for(i = 0;i<n;i++)
{
scanf("%d",&v[i]);
S.insert(v[i]);
}
sz = S.size();
it = S.begin();
int l;
for(i = 0;i<n - 1;i++,l = 1)
{
it = S.find(v[i]);
it++;
for(j = i + 1;j<n;j++)
if(*it == v[j])
{
l++,it++;
if(l == sz)
{
if(j - i + 1 < poz)
poz = j - i + 1;
break;
}
}
}
printf("%d",poz == inf ? -1 : poz);
}