Cod sursa(job #597226)

Utilizator valentin.harsanValentin Harsan valentin.harsan Data 21 iunie 2011 14:42:23
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
#include<algorithm>
#define N 5001
using namespace std;

int n,x[N],y[N],nr=1,lmin=100000;

int main() {
	int i,j,nu;
	freopen("secv.in","r",stdin);
	freopen("secv.out","w",stdout);
	
	scanf("%d",&n);
	
	for(i=1;i<=n;++i) {
		scanf("%d",&x[i]);
		y[i]=x[i];
	}
	
	sort(&y[1],&y[n+1]);
	y[1]=y[1];
	
	for(i=2;i<=n;++i)
		if(y[i]!=y[i-1])
			y[++nr]=y[i];
	
	for(i=1;i<=n;++i) {
		nu=1;
		
		for(j=i;j<=n;++j)
			if(y[nu]==x[j]) {
				++nu;
				if(nu==nr+1)
					break;
			}
		
		if(nu==nr+1 && j-i+1<lmin)
			lmin=j-i+1;
	}
	
	if(lmin==100000)
		printf("-1\n");
	else
		printf("%d\n",lmin);
	
	return 0;
}