Pagini recente » Cod sursa (job #397123) | Cod sursa (job #2837675) | Cod sursa (job #2160339) | Cod sursa (job #144002) | Cod sursa (job #752384)
Cod sursa(job #752384)
#include <cstdio>
int dolar[100006],pre[100006],rez[103476],v[100005];
int main (){
int i,j,n,max=0,maxpoz=0,psol=0,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]);
}