Pagini recente » Cod sursa (job #2722541) | Cod sursa (job #1876464) | Cod sursa (job #1841700) | Cod sursa (job #2589779) | Cod sursa (job #60630)
Cod sursa(job #60630)
#include<stdio.h>
long n, m, v[5000], t[5000], c[5000], rez=100000000;
void main()
{
long i, j, k, x;
freopen("secv.in","r",stdin);
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-2; 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;
}
}
freopen("secv.out","w",stdout) ;
printf("%ld\n",rez==1000000000?-1:rez);
}