Pagini recente » Cod sursa (job #3268819) | Cod sursa (job #2376605) | Cod sursa (job #3131895) | Cod sursa (job #919206) | Cod sursa (job #470817)
Cod sursa(job #470817)
#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 ;
}
}
}
}
}
if ( n == 1 )
fprintf ( g , "1\n" );
else
if ( minn == 1 << 29 )
fprintf ( g , "-1\n" ) ;
else
fprintf ( g , "%d\n" , minn ) ;
fclose(f);
fclose(g);
return 0;
}