Pagini recente » Cod sursa (job #2936168) | Cod sursa (job #2115702) | Cod sursa (job #510706) | Cod sursa (job #2988249) | Cod sursa (job #1852123)
#include <cstdio>
#include<algorithm>
using namespace std;
int v[5005];
int v2[5005];
int f[5005];
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
int n,i,j,max=0,st,dr,min=5001,k,iden;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&v[i]);
v2[i]=v[i];
}
sort(v2+1,v2+n+1);
for(i=1;i<=n;i++)
{
j=1;
iden=0;
while(j<=n && v[i]!=v2[j]){
if(v2[j]==v2[j+1])
iden++;
j++;
}
v[i]=j-iden;
if(j-iden>max)
max=j-iden;
}
for(i=1;i<=n;i++)
{
if(v[i]==1)
{
k=2;
for(j=i;j<=n;j++)
{
if(v[j]==k)
k++;
if(k==max+1)
break;
}
if(k==max+1)
if(j-i+1<min)
min=j-i+1;
}
}
if(min==5001)
printf("-1");
else
printf("%d",min);
return 0;
}