Pagini recente » Cod sursa (job #2139469) | Cod sursa (job #1984782)
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define mp make_pair
int n,A[100010],D[100010],p[100010],m,poz;
pair <int,int> P[100010];
void afisare(int q){
if (p[q]) afisare(p[q]);
cout<<A[q]<<" ";
}
int main(){
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
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=1; j<i; j++){
if (A[i]>A[j] && D[j]+1>D[i]) D[i]=D[j]+1, p[i]=j;
if (D[i]>m) m=D[i],poz=i;
}
}
cout<<m<<"\n";
afisare(poz);
return 0;
}