Pagini recente » Cod sursa (job #1844494) | Cod sursa (job #204461) | Cod sursa (job #773106) | Cod sursa (job #1661333) | Cod sursa (job #392889)
Cod sursa(job #392889)
#include<stdio.h>
#define dim 50000
int a[dim],b[dim],c[dim],n,max,el;
void read()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
}
void solve()
{
for(int i=1;i<=n;i++)
{
for(int k=1;k<i;k++)
{
if(a[k]<a[i] && c[k]>=c[i])
{
c[i]=c[k]+1;
b[i]=k;
if(max<c[i])
{
max=c[i];
el=i;
}
}
}
}
}
void afis()
{
printf("%d\n",c[el]+1);
int i=0;
while(c[el])
{
c[i]=a[el];
i++;
el=b[el];
}
c[i]=a[el];
for( i ; i>=0;i--)
printf("%d ",c[i]);
}
int main ()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
read();
solve();
afis();
return 0;
}