Pagini recente » Cod sursa (job #1764356) | Cod sursa (job #2534895) | Cod sursa (job #725911) | Cod sursa (job #1724606) | Cod sursa (job #484526)
Cod sursa(job #484526)
#include<cstdio>
#include<algorithm>
using namespace std;
const int MaxN = 5001;
int n,m,v[MaxN],cop[MaxN],sir[MaxN],rez = 6000;
bool cmp(int a , int b)
{
return a < b;
}
int main ()
{
int i,j,k;
freopen("secv.in", "r" , stdin);
scanf("%d" , &n);
for( i = 1 ; i <= n ; i++)
scanf("%d", &v[i]), cop[i] =v[i];
sort(cop+1,cop+n+1,cmp);
sir[1] = cop[1]; m = 1;
for(i = 2 ; i <= n ; i++)
if( cop[i] != cop[i-1] )
sir[++m] = cop[i];
for(i = n ; i ; i--)
{
if( v[i] == sir[m] )
{
for( k = i , j = m-1 ; j ; j-- )
{
while( k && v[k] != sir[j] )
k--;
if( !k )
break;
}
if( !j && rez > i -k +1 )
rez = i - k + 1;
}
}
freopen("secv.out" , "w" , stdout);
printf("%d\n" , rez == 6000 ? -1 : rez);
return 0;
}