Pagini recente » Cod sursa (job #1046801) | Borderou de evaluare (job #137746) | Borderou de evaluare (job #993485) | Borderou de evaluare (job #2006243) | Cod sursa (job #628523)
Cod sursa(job #628523)
#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];
nr=i;
}
}
printf("%d\n",max);
l[nr]=0;
--max;
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;
}