Pagini recente » Cod sursa (job #525798) | Cod sursa (job #2771167) | Cod sursa (job #2940615) | Cod sursa (job #1917822) | Cod sursa (job #1706399)
#include <cstdio>
#include <algorithm>
#define INF 2000000001
using namespace std;
int v[5005],sub[5005]={},N,l=1,Min=INF;
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
scanf("%d",&N);
scanf("%d",&v[1]);
sub[1]=v[1];
for(int i=2;i<=N;i++)
{
int j;
scanf("%d",&v[i]);
for(j=1;j<=l;j++)
{
if(v[i]==sub[j])
break;
}
if(j==l+1)
{
sub[j]=v[i];
l++;
}
}
sub[0]=l;
sort(sub+1,sub+sub[0]+1);
int x=sub[0];
for(int i=1;i<=N-l+1;i++)
{
int pos=1,dist=INF;
for(int j=i;j<=N;j++)
{
if(v[j]==sub[pos])
{
pos++;
}
if(pos>l)
{
dist=j-i+1;
break;
}
}
if(Min>dist)
Min=dist;
}
if(Min==INF)
printf("-1");
else printf("%d",Min);
return 0;
}