Pagini recente » Cod sursa (job #205245) | Cod sursa (job #1779737) | Cod sursa (job #1311731) | Cod sursa (job #2045534) | Cod sursa (job #752382)
Cod sursa(job #752382)
#include <cstdio>
int dolar[100000],pre[100000],rez[100000],v[100000];
int main (){
int i,j,n,max=0,maxpoz,psol,sz=0,sol=0;
freopen("scmax.in.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d", &n);
for(i=1;i<=n;++i)
scanf("%d", &v[i]);
for(i=1;i<=n;++i){
max=0;
maxpoz=0;
for(j=i-1;j>=1;--j)
if(v[j]<v[i]&&dolar[j]>max){
maxpoz=j;
max=dolar[j];
}
dolar[i]=max+1;
pre[i]=maxpoz;
}
for(i=1;i<=n;++i)
if(dolar[i]>sol){
sol=dolar[i];
psol=i;
}
printf("%d\n", sol);
for(;psol;psol=pre[psol]) rez[++sz]=v[psol];
for(i=sz;i;--i) printf("%d ", rez[i]);
}