Pagini recente » Cod sursa (job #2077031) | Cod sursa (job #2291146) | Cod sursa (job #749536) | Cod sursa (job #1982099) | Cod sursa (job #900312)
Cod sursa(job #900312)
#include<stdio.h>
int v[100005],best[100005],poz[100005],aux[100005];
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
int n,max=1,maxl;
scanf("%d",&n);
scanf("%d",&v[1]);
best[1]=1;
poz[1]=1;
for(int i=2;i<=n;i++)
{
scanf("%d",&v[i]);
if(v[i]>v[i-1])
{
best[i]+=best[i-1]+1;
poz[i]=i-1;
if(best[i]>max)
{
max=best[i];
maxl=i;
}
}
else
{
best[i]=max;
poz[i]=poz[i-1];
}
}
printf("%d\n",max);
int nr=0;
for(int i=maxl;poz[i]!=i;i=poz[i])
{
aux[++nr]=v[i];
}
for(int i=nr;i>=1;i--)
printf("%d ",aux[i]);
}