Pagini recente » Cod sursa (job #2759538) | Cod sursa (job #98124) | Cod sursa (job #3182732) | Cod sursa (job #3153412) | Cod sursa (job #1358893)
#include<fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int main()
{
long n,lung[100000],urm[100000],a[100000],maxim=0;
int i,j,indice;
cin>>n;
for(i=1;i<=n;++i)
cin>>a[i];
for(i=n;i>=1;--i){
//urm[i]=-1;
lung[i]=1;
for( j=n;j>i;--j ){
if( a[i] < a[j] )
if( lung[i] < lung[j]+1 ){
lung[i]=lung[j]+1;
urm[i]=j;
if(lung[i]>maxim){
maxim=lung[i];
indice=i;}
}
}
}
cout<<maxim<<"\n";
while(indice!=0){
cout<<a[indice]<<" ";
indice=urm[indice];
}
return 0;
}