Pagini recente » Cod sursa (job #143407) | Cod sursa (job #368735) | Cod sursa (job #2354227) | Cod sursa (job #999172) | Cod sursa (job #1237904)
#include <cstdio>
#define nmax 100000
#define mval 2000000000
using namespace std;
long a[nmax],father[nmax],length[nmax];
int lm;
int n,tr;
void btr(int i){
if(i>0){
btr(father[i]);
printf("%d ",a[i]);
}
}
int main(void)
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
int i=1,j;
while(i<=n){
scanf("%ld",&a[i]);
j=0;
for(j;j<i;j++)
if(length[i]<length[j]+1 && a[j]<a[i]){
length[i]=length[j]+1;
father[i]=j;
}
if(length[i]>lm)
{lm=length[i];
tr=i;
}
i++;
}
printf("%d\n",lm);
btr(tr);
}