Pagini recente » Cod sursa (job #2753992) | Cod sursa (job #812797) | Cod sursa (job #2318235) | Cod sursa (job #2777024) | Cod sursa (job #1967912)
#include<bits/stdc++.h>
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int n,v[5002],ap[5002];
int main()
{
f>>n;
int l=0;
for(int i=1;i<=n;++i)
{
f>>v[i];
int b=1;
int e=l;
int ok=0;
while(b<=e)
{
int m=(b+e)/2;
if(ap[m]==v[i])
{
ok=1;
break;
}
else
if(ap[m]<v[i])
b=m+1;
else
e=m-1;
}
if(ok==0)
{
++l;
ap[l]=v[i];
sort(ap+1,ap+l+1);
}
}
int sol=n+1;
for(int i=n-l+1;i>=1;--i)
if(v[i]==ap[1])
{
int q=2,j;
for(j=i+1;j<=n;++j)
if(v[j]==ap[q]){
++q;
if(q>l)
break;
}
if(q>l)
sol=min(sol,j-i+1);
}
if(sol==n+1)
g<<-1;
else
g<<sol<<'\n';
return 0;
}