Pagini recente » Cod sursa (job #2861177) | Cod sursa (job #1347174) | Cod sursa (job #446109) | Cod sursa (job #1215326) | Cod sursa (job #1672490)
#include <cstdio>
using namespace std;
const int NMAX=100005;
int v[NMAX],b[NMAX],u[NMAX];
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
int n,i,j,mx=0,bm,p,nr;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
b[n]=1;
for(i=n-1;i>=1;i--)
{
bm=0;
for(j=i+1;j<=n;j++)
if(v[j]>v[i]&&b[j]>bm)
{
bm=b[j];
u[i]=j;
}
b[i]=bm+1;
if(b[i]>mx)
{
mx=b[i];
p=i;
}
}
printf("%d\n",mx);
for(i=1;i<=mx;i++)
{
printf("%d ",v[p]);
p=u[p];
}
return 0;
}