Pagini recente » Cod sursa (job #3254932) | Cod sursa (job #1331780) | Cod sursa (job #958910) | Cod sursa (job #404591) | Cod sursa (job #1121484)
#include<cstdio>
#include<algorithm>
using namespace std;
FILE * fin=fopen("secv.in","r");
FILE * fout=fopen("secv.out","w");
int n,v[5001],x[5001],i,k,c,p1,p2,minim,j;
int main(){
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
x[i]=v[i];
}
sort(x+1,x+n+1);
k=1;
for(i=1;i<=n;i++){
if(x[i]!=x[k]){
k++;
x[k]=x[i];
}
}
c=1;
minim=2000000;
for(i=1;i<=n;i++){
if(v[i]==x[c]){
p1=i;
c++;
for(j=i+1;j<=n;j++){
if(v[j]==x[c]){
c++;
if(c==k+1){
p2=j;
break;
}
}
}
if(c-1==k){
if(minim>p2-p1+1){
minim=p2-p1+1;
}
}
}
}
if(minim!=2000000){
fprintf(fout,"%d",minim);
}else{
if(minim==2000000){
fprintf(fout,"-1");
}
}
return 0;
}