Pagini recente » Cod sursa (job #1841555) | Cod sursa (job #2540236) | Borderou de evaluare (job #2953485) | Cod sursa (job #3235606) | Cod sursa (job #608368)
Cod sursa(job #608368)
#include<stdio.h>
long v[1001],b[1001],max,i,n,j,r;
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%ld",&v[i]);
b[n]=1;
for (i=n-1;i>=1;i--)
{
max=0;
for (j=i+1;j<=n;j++)
if (v[i]<v[j])
{
if (max<b[j]+1)
max=b[j]+1;
}
b[i]=max;
}
max=0;
for (i=1;i<=n;i++)
if (max<b[i])
{
r=i;
max=b[i];
}
printf("%ld\n",max);
max--;
printf("%ld ",v[r]);
while (max)
{
for (i=r;i<=n;i++)
if (b[i]==max)
{
printf("%ld ",v[i]);
break;
}
max--;
}
}