Cod sursa(job #64345)

Utilizator me_andyAvramescu Andrei me_andy Data 2 iunie 2007 17:42:33
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream.h>

 ifstream f("secv.in");
 ofstream g("secv.out");
	unsigned long n,l,i,j,a[5100],v[5100],min,ok,k,c,aux;
int main()
{
  f>>n;
  l=1;
  for(i=1;i<=n;i++)
  {
   f>>v[i]; 
	c=0;
   for(j=1;j<=l;j++)
    if(v[i]==a[j])
    {
     c=1;
     break;
    }
   if(c==0)     
	{
	 a[l]=v[i];
    l++;             
   }
 }
  min=2*n;
  l--;
 for(i=1;i<l;i++)
  for(j=i+1;j<l;j++)
	if(a[i]>a[j])
	{
	 aux=a[i];
	 a[i]=a[j];
	 a[j]=aux;
	}
 for(i=1;i<=n-l+1;i++)
 {
  if(v[i]==a[1])
  {
	ok=0;
	k=2;
    j=i+1; 
   while(ok<l-1 || j<=n)
	{
	 if(v[j]==a[k])
    {
     ok++;
     j++;
     k++;                   
    }
    else
     j++;
   }
    if(ok==l-1 && j-i-1<min)
	  min=j-i;
  }                  
  
 }         
  if(min==2*n)
	g<<"-1";
	else
	 g<<min;
  f.close();
  g.close();
 return 0;
}