Cod sursa(job #60630)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 15 mai 2007 18:22:17
Problema Secv Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#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);
}