Pagini recente » Cod sursa (job #780336) | Cod sursa (job #2723560) | Cod sursa (job #638556) | Cod sursa (job #916977) | Cod sursa (job #2511262)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int n,i,j,jm,lgm,lg[100001],a[100001],urm[100001];
int main()
{
cin>>n;
for(i=1; i<=n; i++)
cin>>a[i];
///pas1
lg[n]=1;
urm[n]=0;
for(i=n-1; i>=1; i--)
{
lgm=jm=0;
for(j=i+1; j<=n; j++)
if(a[i]<a[j]&&lg[j]>lgm)
{
lgm=lg[j];
jm=j;
}
lg[i]=lgm+1;
urm[i]=jm;
}
lgm=0;
for(i=1;i<=n;i++)
if(lg[i]>lgm)
{
lgm=lg[i];
jm=i;
}
cout<<lgm<<endl;;
i=jm;
do
{
cout<<a[i]<<' ';
i=urm[i];
}while(i);
return 0;
}