Pagini recente » Cod sursa (job #655810) | Cod sursa (job #916870) | Cod sursa (job #767347) | Cod sursa (job #620847) | Cod sursa (job #1848280)
#include<stdio.h>
int v[100001],v2[100001],lung[100001];
int main(){
int n,i,j,maxim,poz,max,cp;
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
lung[1]=1;
maxim=1;
for(i=2;i<=n;i++){
max=0;
for(j=i-1;j>=1;j--)
if(v[i]>v[j]&&lung[j]>max)
max=lung[j];
lung[i]=max+1;
if(lung[i]>maxim){
maxim=lung[i];
poz=i;
}
}
cp=maxim;
printf("%d\n",maxim);
v2[maxim]=v[poz];
maxim--;
j=i-1;
while(maxim!=0){
while(lung[j]!=maxim)
j--;
v2[maxim]=v[j];
maxim--;
}
for(i=1;i<=cp;i++)
printf("%d ",v2[i]);
return 0;
}