Pagini recente » Cod sursa (job #2824385) | Cod sursa (job #417832) | Cod sursa (job #1166226) | Cod sursa (job #1430824) | Cod sursa (job #1883484)
#include <cstdio>
#include <algorithm>
using namespace std;
int n, i, a[100001], poz[100001], Max, pozm,m, prim, j, l[100001];
int main ()
{
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
scanf("%d", &n);
for (i=1; i<=n; i++){
scanf("%d", &a[i]);
}
for(i=n;i>=1;i--)
{
l[i]=1;poz[i]=0;
for(j=i+1;j<=n;j++)
if(a[i]<a[j] && l[i]<1+l[j])
{
l[i]=1+l[j];
poz[i]=j;
}
// printf("l=%d\n", l[i]);
if(m<l[i]) {
m=l[i];
prim=i;
}
}
printf("%d\n", m);
for(i=prim;i>0;i=poz[i])
printf("%d ", a[i]);
return 0;
}