Pagini recente » Cod sursa (job #2864611) | Cod sursa (job #1228287) | Cod sursa (job #468070) | Cod sursa (job #2339083) | Cod sursa (job #334330)
Cod sursa(job #334330)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define N 5056
int n,v[N],salv[N],sir[N],r,length;
void read()
{
scanf("%d",&n);
int i;
for (i=1; i<=n; i++)
{
scanf("%d",&v[i]);
salv[i]=v[i];
}
}
void fac_sir()
{
sort(salv+1,salv+n+1);
int i;
salv[0]=-1;
for (i=1; i<=n; i++)
if (salv[i]!=salv[i-1])
sir[++r]=salv[i];
}
void solve()
{
length=N;
int i,j,act;
for (i=1; i<=n-r+1; i++)
{
act=1;
for (j=i; j<=n; j++)
{
if (v[j]==sir[act])
act++;
if (act==r+1)
{
if (j-i+1<length)
length=j-i+1;
break;
}
}
}
if (length!=N)
printf("%d\n",length);
else
printf("-1\n");
}
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
read();
fac_sir();
solve();
return 0;
}