Pagini recente » Cod sursa (job #2092323) | Cod sursa (job #3250423) | Cod sursa (job #3196378) | Cod sursa (job #2678467) | Cod sursa (job #2166379)
#include<fstream>
#include<algorithm>
#define INF 10000
using namespace std;
ifstream in ("secv.in");
ofstream out ("secv.out");
int v[5002],c[5002],a[5002],i,j=1,n,m,x,minim=INF,k;
int main()
{
in>>n;
for(i=0; i<=5001; i++)v[i]=c[i]=a[i]=-INF;
for(i=1; i<=n; i++)
{
in>>a[i];
v[i]=a[i];
}
sort(v+1,v+n+1);
for(i=1; i<=n; i++)
if(v[i]!=c[j-1]) c[j++]=v[i];
--j;
m=j;
for(x=1; x<=n; x++)
if(a[x]==c[1])
{
k=0;
for(j=1,i=x; j<=m&&i<=n;)
if(a[i]==c[j])
{
j++;
i++;
k++;
}
else
{
i++;
k++;
}
if(j==m+1&&k<minim) minim=k;
}
if(minim!=INF) out<<minim<<'\n';
else out<<"-1"<<'\n';
return 0;
}