Pagini recente » Cod sursa (job #1035223) | Cod sursa (job #2550401) | Cod sursa (job #1730625) | Statistici Franciszek Gawron (frankson) | Cod sursa (job #228075)
Cod sursa(job #228075)
#include <stdio.h>
#include <algorithm>
#define NM 5001
#define INF 5001
using namespace std;
int n,m;
int k;
int c[NM];
int x[NM];
int rez=INF;
int main()
{freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
scanf("%d",&n);
int i,j;
int sw;
m=0;
for (i=1;i<=n;i++)
{scanf("%d",&x[i]);
sw=1;
for (j=1;j<i;j++)
if (x[j]==x[i])
{sw=0;
break;
}
if (sw) c[++m]=x[i];
}
if (m==1) {printf("1");return 0;}
sort(c+1,c+m+1);
for (i=n;i>=1;i--)
if (x[i]==c[m])
{sw=0;
k=m-1;
for (j=i-1;j>=1;j--)
{if (x[j]==c[k]) k--;
if (k==0)
{sw=1;
break;
}
}
if (sw&&(i-j+1<rez)) rez=i-j+1;
}
if (rez==INF) printf("-1");
else printf("%d",rez);
return 0;
}