Cod sursa(job #791096)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 22 septembrie 2012 21:39:09
Problema Secv Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#include<algorithm>
#define dim 5007
using namespace std;


ifstream f("secv.in");
ofstream g("secv.out");

long long  a[dim],w[dim],v[dim];
int n,i,j,k,Min;
int main () {
	
	
	f>>n;
	Min=5002;
	for(i=1;i<=n;++i){
		f>>v[i];
		a[i]=v[i];
	}
	
	sort(a+1,a+1+n);
	
	i=2;
	w[1]=a[1];
	k=1;
	while(i<=n) {
		
		if(a[i]!=a[i-1]){
			++k;
			w[k]=a[i];
		}
		++i;
	}
	
	for(i=1;i<=n;++i){
		
		if(v[i]==w[1]){
			int cnt=0;
	
			for( j=i ; j<=n ; ++j ) {
				
				if(v[j]==w[cnt+1])
					cnt++;
				if(cnt==k)
					if(j-i+1<=Min){
						Min=j-i+1;
						
					}
			}
		}
		
	}
	if(Min==5002){
		g<<-1;
		return 0;
	}
	g<<Min<<"\n";
	return 0;
}