Cod sursa(job #882939)
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int mx;
vector<int> v;
vector<int> temp;
vector<int> c;
int main(){
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
int n,i,j;
mx=7000;
scanf("%d",&n);
for(i=1;i<=n;i++){
int x;
scanf("%d",&x);
v.push_back(x);
temp.push_back(x);
}
sort(temp.begin(),temp.end());
c.push_back(temp[0]);
for(i=1;i<temp.size();i++){
if(temp[i]!=temp[i-1]){
c.push_back(temp[i]);
}
}
for(i=0;i<v.size();i++){
int l=0;
for(j=i;j<v.size()&&l<c.size();j++){
if(v[j]==c[l]){
++l;
}
}
if(l==c.size()){
mx=mx<(j-i)?mx:(j-i);
}
}
printf("%d\n",mx==7000?-1:mx);
return 0;
}