Pagini recente » Cod sursa (job #2045821) | Cod sursa (job #2788092) | Cod sursa (job #1295454) | Cod sursa (job #215192) | Cod sursa (job #882851)
Cod sursa(job #882851)
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define NMAX 5007
using namespace std;
int b[NMAX],v[NMAX],ap[NMAX];
int main()
{
freopen("secv.in" , "r" , stdin);
freopen("secv.out" , "w" , stdout);
int n=0,nr=0,k=0,min2=100000;
scanf("%d",&n);
for(int i=1 ; i<=n ; ++i)
scanf("%d" , &b[i]);
memcpy(v,b,sizeof(b));
sort(v+1 , v+n+1);
ap[1]=v[1];
k=1;
for(int i=2 ; i<=n ; ++i)
if(v[i] != v[i-1])
ap[++k]=v[i];
for(int i=1 ; i<=n ; ++i)
if(b[i] == ap[1])
{
nr=2;
for(int j=i+1 ; j<=n ; ++j)
{
if(b[j] == ap[nr])
++nr;
if(nr == k+1)
{
if(min2 > j-i+1)
min2=j-i+1;
break;
}
}
}
if(min2 == 100000)
printf("-1\n");
else
printf("%d\n" , min2);
return 0;
}