Pagini recente » Cod sursa (job #3242533) | Cod sursa (job #2924813) | Cod sursa (job #1193666) | Cod sursa (job #416716) | Cod sursa (job #1360405)
#include <fstream>
//#include<iostream>
#define NMAX 5001
using namespace std;
long max,poz,x[NMAX],y[NMAX],i,j,n,m,k,l,a,s;
int main()
{
ifstream cin("secv.in");
ofstream cout("secv.out");
cin>>n;
for (i=1;i<=n;i++)
{
cin>>x[i];
y[i]=x[i];
}
a=1;
while (a)
{
a=0;
for (i=1;i<n;i++)
if (y[i]>y[i+1]) {a=y[i]; y[i]=y[i+1]; y[i+1]=a; a=1;}
}
y[n+1]=-1;
for (i=1;i<=n;i++)
if (y[i]!=y[i+1]) y[++y[0]]=y[i];
int max=6000;
for (i=1;i<=n;i++)
if (x[i]==y[1])
{
m=y[0]-1;
j=i;
poz=2;
while (j<=n&&m)
{
j++;
if (x[j]==y[poz]) {poz++; m--;}
}
if (m==0&&j-i+1<max) max=j-i+1;
}
if (max==6000)
cout<<"-1"<<'\n';
else
cout<<max<<'\n';
return 0;
}