Pagini recente » Rezultatele filtrării | Cod sursa (job #1760234) | Rezultatele filtrării | Cod sursa (job #3293347) | Cod sursa (job #841652)
Cod sursa(job #841652)
#include<cstdio>
int n,i,j,k,sir[100005],max,rez,v[100005],poz[100005];
void back(int k)
{
if (poz[k]) back(poz[k]);
printf("%d ",v[k]);
}
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&v[i]);sir[i]=1;
for (j=1;j<=i;j++) if (v[i]>v[j] && sir[i]<=sir[j]) poz[i]=j,sir[i]=sir[j]+1;
if (sir[i]>max) max=sir[i],k=i;
}
printf("%d\n",max);
back(k);
return 0;
}