Pagini recente » Cod sursa (job #2132284) | Cod sursa (job #314931) | Cod sursa (job #2544540) | Cod sursa (job #287675) | Cod sursa (job #1347743)
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
long v[5100],x[5001],z[5001],k,lg,n,i,j,poz;
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
scanf("%ld",&n);
for (i=1;i<=n;i++) {scanf("%ld",&v[i]); x[i]=v[i];}
sort(x+1,x+n+1);
k=0;
for (i=1;i<=n;i++) if (x[i]!=x[i+1]) {k++; z[k]=x[i];}
lg=20000000;
for (i=1;i<=n;i++) if (v[i]==z[1])
{
poz=2; j=i+1;
while (poz<=k) {while (z[poz]!=v[j]) j++;
if (j>n) break;
if (j<=n) poz++;}
if ((poz==k+1) && (v[j]==z[k])) if (lg>j-i+1) lg=j-i+1;
}
if (lg==20000000) lg=-1;
printf("%ld",lg);
return 0;
}