Pagini recente » Cod sursa (job #2500286) | Cod sursa (job #833829) | Cod sursa (job #908889) | Cod sursa (job #2855716) | Cod sursa (job #80133)
Cod sursa(job #80133)
#include<stdio.h>
long n, m, v[5005], t[5005], c[5005], rez=1000000000;
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
long i,j,k,x;
scanf ("%ld",&n);
for (i=0; i<n; i++) {scanf("%ld",v+i); t[i]=v[i];}
for (i=0; i<n; i++)
for (j=i+1; j<n; j++)
if (t[i]>t[j]) x=t[i],t[i]=t[j],t[j]=x;
c[0]=t[0]; m=1;
for (i=1; i<n; i++)
if (t[i]!=t[i-1]) c[m++]=t[i];
for (i=n-1; i>=0; i--)
{
if (v[i]==c[m-1])
{
for (k=i,j=m-1; j>0; j--)
{
while (k>=0 && v[k]!=c[j]) k--;
if (k<0) break;
}
if(j==-1 && rez>i-k+1) rez=i-k+1;
}
}
if (rez==1000000000) rez=-1;
printf("%ld\n",rez);
return 0;
}