Pagini recente » Cod sursa (job #1033433) | Cod sursa (job #1350985) | Cod sursa (job #2023450) | Cod sursa (job #1883868) | Cod sursa (job #164872)
Cod sursa(job #164872)
#include <stdio.h>
#include <stdlib.h>
#define INF 2000000000
int comp(const void*a,const void*b){
int *aa=(int*)a,*bb=(int*)b;
int aaa=*aa,bbb=*bb;
return (aaa-bbb);
}
int main(){
int n,v[5001],w[5001],i,j,k=0,m=0,ok,l=INF,st,fin;
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&v[i]);
w[i]=v[i];
}
qsort(w,n+1,sizeof(w[0]),comp);
for(i=1;i<=n;i++)
if(w[i]!=w[m]) w[++m]=w[i];
for(i=1;i<=n;i++)
if(v[i]==w[1]){
ok=0;
k=2;
st=i;
for(j=i+1;j<=n;j++){
if(v[j]==w[k])
k++;
if(k==m+1) { ok=1; fin=j; break; }
}
if(ok && fin-st+1<l)
l=fin-st+1;
}
if(m==1) { printf("1"); return 0; }
if(l!=INF) printf("%d",l);
else printf("-1");
return 0;
}