Cod sursa(job #470815)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 15 iulie 2010 17:16:27
Problema Secv Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include<stdio.h>
#include<algorithm>
using namespace std;

FILE*f=fopen("secv.in","r");
FILE*g=fopen("secv.out","w");

int n,v[5005],s[5005],i,j,k,minn,y,z ;
char ok ;

int main () {
	
	fscanf ( f , "%d" , &n );
	
	for ( i = 1 ; i <= n ; ++i ){
		
		fscanf ( f , "%d" , &v[i] );
		
		
		for ( j = k ; j >= 1 ; --j )
			if( s[ j ] == v[ i ] ){
				ok = 1 ; 
				break ; 
			}				
		
		if ( ok == 0 )
			s[ ++k ] = v[ i ] ;
		
		ok = 0 ;
		
	}
	
	sort ( s + 1 , s + k + 1 ) ;
	
	minn = 1 << 29 ;
	
	for ( i = 1 ; i <= n ; ++i ){
		
		if ( s[ 1 ] == v[ i ] ) {
			
			ok = 0 ;
			
			z = i ; 
			
			y = 2 ;
			
			while ( ok == 0 && z < n ) {
				
				++z ; 
				
				if ( v[ z ] == s[ y ] ){
					
					++y ;
					
					
					if ( y == k + 1  ){
						
						if ( z - i + 1 < minn )
							minn = z - i + 1 ;
						
						break ;
					}
				}
				
				
			}
			
			
		}
		
	}
	
	fprintf ( g , "%d\n" , minn ) ;
	
	
	fclose(f);
	fclose(g);
	
	return 0;
}