Pagini recente » Cod sursa (job #1121364) | Cod sursa (job #2103469) | Cod sursa (job #1066566) | Cod sursa (job #126972) | Cod sursa (job #228055)
Cod sursa(job #228055)
#include <stdio.h>
#include <algorithm>
#define NM 50001
#define INF 50001
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;
for (i=1;i<=n;i++)
{scanf("%d",&x[i]);
c[i]=x[i];
}
sort(c+1,c+n+1);
for (i=2;i<=n;i++)
if (c[i]==c[i-1]) c[i]=INF;
sort(c+1,c+n+1);
m=n;
while (c[m]==INF) m--;
int sw;
for (i=1;i<=n;i++)
if (x[i]==c[1])
{sw=0;
k=2;
for (j=i+1;j<=n;j++)
{if (x[j]==c[k]) k++;
if (k>m)
{sw=1;
break;
}
}
if (sw&&(j-i+1<rez)) rez=j-i+1;
}
if (rez==INF) printf("-1");
else printf("%d",rez);
return 0;
}