Cod sursa(job #791682)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 24 septembrie 2012 20:40:46
Problema Secv Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
#define DIM 2000000010
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int x[5003], n, nr, i, j, k, poz, minim=DIM, maxim=DIM, v[5003], s[5003];
int main(){
	f>>n;
	for(i=1; i<=n; i++)
	{
		f>>v[i];
		if(v[i]<minim) 
		{
			minim=v[i];
			x[1]=i,x[0]=1;
		}
		else 
			if(v[i]==minim)
				x[++x[0]]=i;
		s[i]=v[i];
	}
	sort(s+1, s+n+1);
	nr=0;
	s[++nr]=s[1];
	for(i=2; i<=n; i++)
		if(s[i]!=s[i-1])
			s[++nr]=s[i];
	if(x[0]==n)
	{
		g<<1;
		return 0;
	}
	for(k=1; k<=x[0]; k++)
	{
		poz=x[k];
		j=poz+1;
		for(i=2; i<=nr && j<=n; i++)
		{
			for(j=poz+1; j<=n; j++)
				if(v[j]==s[i])
				{
					poz=j;
					break;
				}
		}
		if(i==nr+1)
			if(j-x[k]+1<maxim)
				maxim=j-x[k]+1;
	}
	if(maxim==DIM)
	{
		g<<-1<<"\n";
		return 0;
	}
	g<<maxim<<"\n";
	return 0;
}