Pagini recente » Cod sursa (job #3179054) | Cod sursa (job #475300) | Cod sursa (job #3151000) | Cod sursa (job #592119) | Cod sursa (job #3288623)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("scmax.in");
ofstream fout ("scmax.out");
int n,v[100005],d[100005],i,j,pre[100005],lmax,pmax;
void afis (int i)
{
//cout<<v[i]<<" ";
if (pre[i]>0) afis (pre[i]);
fout<<v[i]<<" ";
}
int main()
{
fin>>n;
for (i=1;i<=n;i++) d[i]=1;
for (i=1;i<=n;i++) fin>>v[i];
for (i=1;i<=n;i++)
{
for (j=i-1;j>0;j--)
if (v[i]>v[j] && d[i]<d[j]+1)
{
d[i]=d[j]+1;
pre[i]=j;
}
if (d[i]>=lmax)
{
lmax=d[i];
pmax=i;
}
}
fout<<lmax<<'\n';
afis (pmax);
return 0;
}