Pagini recente » Cod sursa (job #375606) | Cod sursa (job #3240993) | Cod sursa (job #1236220) | Cod sursa (job #467154) | Cod sursa (job #570318)
Cod sursa(job #570318)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int main(){
int *a,n,i,j,lmax=0,*l,m;
fin>>n;
a=new int[n];
l=new int[n];
for (i=0;i<n; ++i)
fin>>a[i];
l[n-1]=1;
for (i=n-2; i>=0; --i){
m=0;
for (j=i+1; j<n; ++j)
if (a[j]>a[i] && l[j]>m)
m=l[j];
l[i]=m+1;
if (l[i]>lmax)
lmax=l[i];
}
fout<<lmax<<"\n";
for (i=0; i<n; ++i)
if (l[i]==lmax){
fout<<a[i]<<" ";
lmax--;
}
delete [] a;
delete [] l;
fin.close();
fout.close();
return 0;
}