Pagini recente » Cod sursa (job #3207825) | Cod sursa (job #746846) | Cod sursa (job #636657) | Cod sursa (job #1769722) | Cod sursa (job #268385)
Cod sursa(job #268385)
#include <stdio.h>
long n,i,v[1000],p[1000],l[1000],j,max,first;
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
scanf("%ld",&v[i]);
first=n;
p[n]=-1;
l[n]=1;
for(i=n-1;i>=1;i--)
{
l[i]=1;
p[i]=-1;
for(j=i+1;j<=n;j++)
{
if((v[i]<v[j]) && (l[i]<l[j]+1)){
p[i]=j;
l[i]=l[j]+1;
}
}
if(l[i]>max){ max=l[i];
first=i;
}
}
printf("%ld\n",max);
i=first;
while(p[i]!=-1)
{
printf("%ld ",v[i]);
i=p[i];
}
printf("%ld",v[i]);
return 0;
}