Pagini recente » Cod sursa (job #470760) | Cod sursa (job #2794995) | Cod sursa (job #2351609) | Cod sursa (job #1584652) | Cod sursa (job #368226)
Cod sursa(job #368226)
#include<iostream>
using namespace std;
int main()
{int a[100],l[100],ante[100],maxi,i,j,n,p;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
l[n]=1;
ante[n]=-1;
for(i=n-1;i>=1;--i)
{ante[i]=-1;
l[i]=1;
for(j=i+1;j<=n;++j)
if(a[i]<=a[j] && l[i]<l[j]+1)
{
l[i]=l[j]+1;
ante[i]=j;
}
}
maxi=0;
for(i=1;i<=n;i++)
{if(l[i]>maxi)
maxi=i;
}
cout<<l[maxi]<<'\n';
while(maxi!=-1)
{cout<<a[maxi]<<" ";
maxi=ante[maxi];
}
return 0;
}