Pagini recente » Cod sursa (job #3233138) | Cod sursa (job #1231875) | Cod sursa (job #57443) | Cod sursa (job #1945333) | Cod sursa (job #1978795)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int main()
{int n, v[1000], dp[1000], lmax=1, p[1000], poz, k=1, solve[1000];
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]<<' ';
}