Pagini recente » Cod sursa (job #122822) | Cod sursa (job #1345709) | Cod sursa (job #448619) | Cod sursa (job #36783) | Cod sursa (job #3288204)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
pair<int,int> t[5005];
vector<int> poz1;
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;
if(nr==1)
poz1.push_back(t[i].second);
}
for(i=0;i<poz1.size();++i)
{
lg=2;
for(j=1+poz1[i];j<=n;++j)
{
if(v[j]==lg)
++lg;
if(lg==nr+1)
{
minlen=min(minlen,j-poz1[i]+1);
break;
}
if(v[i]==1 && lg==2)
break;
}
}
if(minlen==n+1)
{
fout<<-1;
return 0;
}
fout<<minlen;
return 0;
}