Pagini recente » Cod sursa (job #2444461) | Cod sursa (job #1912686) | Cod sursa (job #2815818) | Cod sursa (job #2370164) | Cod sursa (job #628513)
Cod sursa(job #628513)
#include<stdio.h>
int v[1000],l[1000];
//..................
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
int n,i,j,max=0,nr=0;
l[1]=1;
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%d",&v[i]);
for(j=0;j<i;++j)
if(l[j]>=l[i]&&v[i]>v[j])
l[i]=l[j]+1;
if(l[i]>max)
{
max=l[i]-1;
nr=i;
}
}
printf("%d\n",max+1);
l[nr]=0;
for(i=nr-1;i>0;--i)
if(l[i]==max&&v[i]<v[nr])
{
max--;
nr=i;
l[i]=0;
}
for(i=1;i<=n;++i)
if(l[i]==0)
printf("%d ",v[i]);
return 0;
}