Pagini recente » Cod sursa (job #2471395) | Cod sursa (job #1888215) | Cod sursa (job #263231) | Cod sursa (job #1132355) | Cod sursa (job #1121526)
#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], s[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]);
s[i]=v[i];
}
sort(s+1,s+n+1);
if(s[1]==s[n])
{
fprintf(fout, "1\n");
return 0;
}
k=1;
x[1]=s[1];
for(i=2;i<=n;i++)
if(s[i]!=s[i-1])
x[++k]=s[i];
minim=2000000;
for(i=1;i<=n;i++){
c=1;
if(v[i]==x[c]){
p1=i;
c++;
for(j=i;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;
}