Pagini recente » Cod sursa (job #2864482) | Cod sursa (job #263302) | Cod sursa (job #13456) | Cod sursa (job #960783) | Cod sursa (job #1156195)
#include <fstream>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int main()
{
short n,*u,s=0,i,j,k,m=5555;
int a[5000],*v;
fin>>n;
v=new int[n];
u=new short[n];
for(i=0;i<n;++i)
{
fin>>v[i];
u[i]=1;
for(j=0;j<i;++j)
if(v[j]<v[i] && u[j]>=u[i])
u[i]=u[j]+1;
for(j=0;j<s;++j)
if(v[i]==a[j])
break;
if(j==s)
{
a[j]=v[i];
s++;
}
}
for(i=s-1;i<n;++i)
if(u[i]==s)
{
for(j=i,k=s;k>1;--j)
if(u[j]==k-1)
k--;
if(m>i-j)
m=i-j;
}
if(m>n)
fout<<-1;
else
fout<<m;
}