Pagini recente » Cod sursa (job #255335) | Cod sursa (job #261802) | Cod sursa (job #2126777) | Cod sursa (job #1984188) | Cod sursa (job #1984389)
#include <fstream>
using namespace std;
ifstream cin ("scmax.in");
ofstream cout ("scmax.out");
int n, A[100010],D[100010],poz[100010],m=1;
void afisare(int q){
if (poz[q]!=0) afisare(poz[q]),cout<<A[poz[q]]<<" ";
else return;
}
int main(){
cin>>n;
for (int i=1; i<=n; i++) cin>>A[i],D[i]=1;
for (int i=2; i<=n; i++){
for (int j=i-1; j; j--){
if (A[i]>A[j] && D[j]+1>D[i]) D[i]=D[j]+1,m=i,poz[i]=j;
}
}
poz[n+1]=m;
cout<<D[m]<<"\n";
afisare(poz[n+1]);
cout<<A[m]<<" ";
return 0;
}