Pagini recente » Cod sursa (job #2847987) | Cod sursa (job #2660668) | Cod sursa (job #2750204) | Cod sursa (job #3185477) | Cod sursa (job #1555120)
#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,start,j,prec,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,nr;
for(i = 0;i<n - 1;i++, prec = i ,l = 1,it++)
{
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);
}