Cod sursa(job #80134)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 26 august 2007 13:33:10
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>

long n, m, v[5005], t[5005], c[5005], rez=1000000000, pi, pf;


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;
}