Pagini recente » Cod sursa (job #2732794) | Cod sursa (job #207173) | Cod sursa (job #298198) | Cod sursa (job #100347) | Cod sursa (job #127437)
Cod sursa(job #127437)
#include<stdio.h>
#define NMAX 5001
long max,poz,x[NMAX],y[NMAX],i,j,n,m,k,l,a,s;
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
scanf("%ld",&n);
for (i=1;i<=n;i++)
{
scanf("%ld",&x[i]);
y[i]=x[i];
}
a=1;
while (a)
{
a=0;
for (i=1;i<n;i++)
if (y[i]>y[i+1]) {a=y[i]; y[i]=y[i+1]; y[i+1]=a; a=1;}
}
y[n+1]=-1;
for (i=1;i<=n;i++)
if (y[i]!=y[i+1]) y[++y[0]]=y[i];
max=6000;
for (i=1;i<=n;i++)
if (x[i]==y[1])
{
m=y[0]-1;
j=i;
poz=2;
while (j<=n&&m)
{
j++;
if (x[j]==y[poz]) {poz++; m--;}
}
if (m==0&&j-i+1<max) max=j-i+1;
}
if (max==6000)
printf("-1\n");
else
printf("%ld\n",max);
return 0;
}