Pagini recente » Cod sursa (job #832535) | Cod sursa (job #2105910) | Cod sursa (job #1981308) | Cod sursa (job #1172333) | Cod sursa (job #2582754)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int v[100001],L[100001];
int main()
{
int i,n,MAX,max,j;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
L[n]=1;
MAX=-1;
for(i=n-1;i>=1;i--)
{
max=-1;
for(j=i+1;j<=n;j++)
if(L[j]>max&&v[i]<v[j])
max=L[j];
L[i]=max+1;
if(MAX<L[i])
MAX=L[i];
}
cout<<MAX<<'\n';
for(i=1;i<=n;i++)
if(L[i]==MAX)
cout<<v[i]<<" ",MAX--;
return 0;
}