Pagini recente » Cod sursa (job #730500) | Cod sursa (job #2383916) | Cod sursa (job #1140850) | Cod sursa (job #3214557) | Cod sursa (job #1121304)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
const int nmax=100001;
int n,v[nmax],ant[nmax],l[nmax],lmax,a,pi;
void solutie (int pi)
{ if(pi>=0)
{
solutie(ant[pi]);
out<<v[pi]<<" ";
}
}
int main()
{ in>>n;
for(int i=0;i<n;i++)
in>>v[i];
for(int i=0;i<n;i++)
{ lmax=0;
a=-1;
for(int j=0;j<i;j++)
if(v[j]<v[i])if(l[j]>lmax)
{ lmax=l[j];a=j;}
l[i]=lmax+1;
ant[i]=a;
}
lmax=0;
for(int i=0;i<n;i++)if(l[i]>lmax){lmax=l[i]; pi=i;}
out<<lmax<<"\n";
solutie(pi);
return 0;
}