Pagini recente » Cod sursa (job #2895027) | Cod sursa (job #2056188) | Cod sursa (job #1486224) | Cod sursa (job #2496187) | Cod sursa (job #1759721)
#include<fstream>
using namespace std;
const int NMAX=100005;
int v[NMAX],t[NMAX],p[NMAX],vn[NMAX];
int main()
{
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int n,k,max=-1;
cin>>n;
for(int i=1;i<=n;++i)
{
cin>>v[i];
t[i]=1;
}
for(int i=1;i<=n;++i)
for(int j=1;j<i;++j)
{
if(v[j]<v[i])
if(t[j+1]>=t[i])
{
t[i]=t[j]+1;
p[i]=j;
}
}
for(int i=1;i<=n;++i)
if(t[i]>max)
{
max=t[i];
k=i;
}
cout<<max<<endl;
for(int i=max;i>=1;--i)
{
vn[i]=v[k];
k=p[k];
}
for(int i=1;i<=max;++i)
cout<<vn[i]<<" ";
}