Pagini recente » Cod sursa (job #3212238) | Cod sursa (job #402941) | Cod sursa (job #1467032) | Cod sursa (job #2149700) | Cod sursa (job #546738)
Cod sursa(job #546738)
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
const int N=5000;
vector < pair <int,int> > x(N);
int n,m,i,r,val;
int p[5001],v[5001];
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
scanf("%d",&n);
r=5010;
for (i=1;i<=n;i++)
{
scanf("%d",&x[i].first);
x[i].second=i;
}
sort (&x[1],&x[n+1]);
v[x[1].second]=1;
val=1;
for(i=2;i<=n;i++)
{
if (x[i].first!=x[i-1].first) ++val;
v[x[i].second]=val;
}
for (i=1;i<=n;i++)
{
if (v[i]==1)
p[v[i]]=i;
else
p[v[i]]=p[v[i]-1];
if (v[i]==val)
{
if (p[v[i]]!=0)
if (r>=i-p[v[i]]+1)
r=i-p[v[i]]+1;
}
}
if (r==5010)
printf("-1");
else
printf("%d",r);
return 0;
}