Pagini recente » Cod sursa (job #2244273) | Cod sursa (job #304999) | Cod sursa (job #1593681) | Cod sursa (job #141158) | Cod sursa (job #2491067)
#include <fstream>
#include <unordered_map>
#include <algorithm>
using namespace std;
ifstream cin("secv.in");
ofstream cout("secv.out");
unordered_map <int, int > M;
int n,v[5005],aux[5005];
int main()
{
int i,nr,Max,j,sol=9999999;
cin>>n;
for(i=1; i<=n; i++)
{
cin>>v[i];
aux[i]=v[i];
}
sort(aux+1,aux+n+1);
nr=0;
for(i=1; i<=n; i++)
{
if(aux[i]!=aux[i-1])
{
nr++;
M[aux[i]]=nr;
}
}
for(i=1; i<=n; i++)
v[i]=M[v[i]];
Max=nr;
for(i=1; i<=n; i++)
{
if(v[i]==1)
{
nr=1;
for(j=i+1; nr!=Max && j<=n;j++)
{
if(v[j]==nr+1)
{
nr++;
}
}
if(nr==Max) sol=min(sol,j-i);
}
}
if(sol!=9999999) cout<<sol;
else cout<<-1;
return 0;
}