Cod sursa(job #164977)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 25 martie 2008 00:16:37
Problema Secv Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <algorithm>
#define N 6009
using namespace std;
int v1[N],v[N],c[N];
int nr,n,rez=N;
void scan()
{
	freopen("secv.in", "r",stdin);
	freopen("secv.out", "w",stdout);
	scanf("%d", &n);
	for(int i=1;i<=n;++i)
	{
		scanf("%d", &v[i]);
		v1[i]=v[i];
	}    
}	
void solve()
{
	sort(v1+1,v1+n+1);
	int j=0;
	for(int i=1;i<=n;++i)
		if(v1[i]!=v1[i-1])
			c[++j]=v1[i];
	
	nr=j;
	for(int i=1;i<=n-nr;++i)
	{
		if(v[i]==c[1])
		{
			int k=2;
			for(int j=i+1;j<=n;++j)
			{
				if(v[j]==c[k])
				{
					if(k==nr)
					{	if(j-i+1<rez)
							rez=j-i+1;
						break;
					}	
					++k;	
				}
			}	
		}		
	}
	
	//if(rez!=N)
		//printf("%d\n", rez);
	//else
		printf("-1\n");
}
int main()
{
	scan();
	solve();
	return 0;
}