Pagini recente » Cod sursa (job #299395) | Cod sursa (job #2811111) | Cod sursa (job #931861) | Cod sursa (job #1598427) | Cod sursa (job #235115)
Cod sursa(job #235115)
#include<stdio.h>
#include<algorithm>
#define NMAX 5002
using namespace std;
int A[NMAX],S[NMAX];
inline int min(const int a,const int b)
{
return a<b?a:b;
}
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
int N;
scanf("%d",&N);
int i,j,k;
for(i=1; i<=N; ++i){
scanf("%d",&A[i]);
S[i]=A[i];
}
sort(S+1,S+N+1);
int last=0,sf=0;
for(i=1; i<=N; ++i)
if( last!=S[i] )
{
last=S[i];
S[++sf]=S[i];
}
int first,second,ANS=N;
for(i=1; i<=N && sf<N-i; ++i)
if( A[i]==S[1] )
{
first=i;
for(k=i,j=1; ; )
{
if( A[k]==S[j] )
++j;
++k;
if( j==sf || k==N )
break;
}
second=k;
if( j==sf )
ANS=min(ANS,second-first+1);
}
printf("%d\n",ANS);
return 0;
}