Pagini recente » Cod sursa (job #381890) | Cod sursa (job #1728663) | Cod sursa (job #159068) | Cod sursa (job #607045) | Cod sursa (job #996751)
Cod sursa(job #996751)
#include<stdio.h>
#include<algorithm>
using namespace std;
unsigned v[5005],s[5005];
bool t[2000005];
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
unsigned n,i,m=0,l,j,p=0;
scanf("%u",&n);
for(i=1;i<=n;i++)
{
scanf("%u",&v[i]);
if(t[v[i]]==0)
{
t[v[i]]=1;
m++;
s[m]=v[i];
}
}
if(m>1)
{
l=n+1;
sort(s+1,s+m+1);
for(i=1;i<=n;i++)
if(v[i]==s[1])
{
p=2;
for(j=i+1;j<=n;j++)
if(v[j]==s[p])
{
if(p<m)
{
p++;
}
else
{
break;
}
}
if(j-i+1<l && j<=n)
l=j-i+1;
}
if(l!=n+1)
printf("%u\n",l);
else
printf("-1");
}
else
printf("%u\n",m);
return 0;
}