Pagini recente » Cod sursa (job #1903461) | Cod sursa (job #737422) | Cod sursa (job #646116) | Cod sursa (job #3214563) | Cod sursa (job #410286)
Cod sursa(job #410286)
#include<stdio.h>
#define lmax 100005
int v[lmax],l[lmax],max,maxs,i,k,n,t;
void read(),solve();
int main()
{read();
solve();
return 0;}
void read()
{freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
}
void solve()
{l[n]=1;
for(i=n-1;i>=1;i--)
{max=0;
for(k=i+1;k<=n;k++)
if(v[k]>v[i]&&l[k]>max)
max=l[k];
l[i]=max+1;
if(l[i]>maxs)
{maxs=l[i];
t=i;}
}
printf("%d\n%d ",maxs,v[t]);
for(i=t+1;i<=n;i++)
if (v[i]>v[t] && l[i]==maxs-1)
printf("%d ",v[i]),maxs--;
}