Pagini recente » Cod sursa (job #680930) | Cod sursa (job #773147) | Cod sursa (job #2024062) | Cod sursa (job #2912109) | Cod sursa (job #492799)
Cod sursa(job #492799)
#include<cstdio>
int n,a[100001],i,j,bst[100001],max,max1,poz;
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",&a[i]);
}
void solve()
{
bst[n]=1;
for(i=n-1;i>=1;i--)
{
max=0;
for(j=i+1;j<=n;j++)
if(a[j]>a[i] && bst[j]>max)
max=bst[j];
bst[i]=1+max;
if(bst[i]>max1)
{
max1=bst[i];
poz=i;
}
}
printf("%d",max1);
printf("\n");
printf("%d ",a[poz]);
for(i=poz+1;i<=n;i++)
{
if(a[i]>a[poz] && bst[i]==max1-1)
{
printf("%d ",a[i]);
--max1;
}
}
}