Pagini recente » Cod sursa (job #318183) | Cod sursa (job #2311481) | Cod sursa (job #345950) | Cod sursa (job #920339) | Cod sursa (job #1978798)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int main()
{int n, v[100001], dp[100001], lmax=1, p[100001], poz, k=1, solve[100001];
cin>>n;
for(int i=1;i<=n;++i)
{cin>>v[i];
dp[i]=1;}
for (int i=1;i<=n;++i)
{
for (int j=1;j<=i;++j)
{
if(v[i]>v[j])
{dp[i]=max(dp[i], dp[j]+1);
p[i]=j;
k++;
}
}
}
for (int i=1;i<=n;++i)
{ if (lmax<=dp[i])
{lmax=dp[i];
poz=i;}
}
cout<<lmax<<'\n';
for (int i=lmax;i>0;--i){
solve[i]=v[poz];
poz=p[poz];}
for(int i=1;i<=lmax;i++)
cout<<solve[i]<<' ';
}