Cod sursa(job #295868)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 3 aprilie 2009 18:57:12
Problema Secv Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream.h>
#include<values.h>

ifstream f("secv.in");
ofstream g("secv.out");
long a[5001],min,max,k,i,j,minim=MAXLONG,lung_min,n,ok,ok1,z,y,min_rez,poz_gas;
int main ()
{
	f>>n; min=MAXLONG; max=0;
	for (i=1; i<=n; i++)
        {
		f>>a[i];
		if (a[i]<min) min=a[i];
		if (a[i]>max) max=a[i];
	}
	lung_min=max-min+1;
	for (i=1; i<=n-lung_min+1; i++)
		for (j=i+lung_min-1; j<=n; j++)
		{
                	ok=1; min_rez=min;
			for (k=min_rez; k<=max; k++)
			{
				ok1=0;
				for (z=i; z<=j; z++)
					if (a[z]==k) { ok1=1; poz_gas=z; break; }
				if (ok1==0) { ok=0; break; }
				else k=poz_gas+1;
			}
			if (ok==1 && j-i+1<minim) { minim=j-i+1; }
		}
	if (minim==MAXLONG) g<<"-1";
        else g<<minim;
	return 0;
}