Pagini recente » Cod sursa (job #1093789) | Istoria paginii preoji2016/clasament/10 | Cod sursa (job #2236886) | Cod sursa (job #2753483) | Cod sursa (job #3151046)
#include <iostream>
using namespace std;
int a[100005],sir[100005],urm[10005],pmax=1,n,i,j,p,mx;
int main()
{ cin>>n;
for (i=1;i<=n;i++)
{
cin>>a[i];
}
sir[n]=1;
for (i=n-1;i>=1;i--)
{
sir[i]=1;
for (j=i+1;j<=n;j++)
{
if (a[j]>a[i]&&sir[j]>=sir[i]) sir[i]=sir[j]+1;
}
}
for (i=2;i<=n;i++)
{
if (sir[i]>sir[pmax]) pmax=i;
}
cout<<sir[pmax]<<'\n';
mx=sir[pmax];
while (mx!=0)
{
cout<<a[pmax]<<' ';
mx--;
for (i=pmax+1;i<=n;i++)
{
if (a[i]>a[pmax]&&sir[i]==mx) {pmax=i;break;}
}
}
return 0;
}