Pagini recente » Cod sursa (job #2449207) | Cod sursa (job #1588953) | Cod sursa (job #2667204) | Cod sursa (job #2823415) | Cod sursa (job #3288206)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
pair<int,int> t[5005];
int v[5005];
int main()
{
int i,n,val,nr=0,lg,minlen,j;
bool cond;
fin>>n;
minlen=n+1;
for(i=1;i<=n;++i)
{
fin>>val;
t[i]={val,i};
}
sort(t+1,t+n+1);
t[0].first=-1;
for(i=1;i<=n;++i)
{
if(t[i].first>t[i-1].first)
{
++nr;
}
v[t[i].second]=nr;
}
for(i=1;i<=n;++i)
{
if(v[i]==1)
{
lg=2;
for(j=i+1;j<=n;++j)
{
if(v[j]==lg)
++lg;
if(lg==nr+1)
{
minlen=min(minlen,j-i+1);
break;
}
if(v[j]==1 && lg==2)
break;
}
}
}
if(minlen==n+1)
{
fout<<-1;
return 0;
}
fout<<minlen;
return 0;
}