Pagini recente » Cod sursa (job #467384) | Cod sursa (job #1702333) | Cod sursa (job #3002991) | Cod sursa (job #2262507) | Cod sursa (job #1759734)
#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,maxx=-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])
{
p[i]=j;
t[i]=t[j]+1;
}
}
for(int i=1;i<=n;++i)
if(t[i]>maxx)
{
maxx=t[i];
k=i;
}
cout<<maxx<<endl;
for(int i=maxx;i>=1;--i)
{
vn[i]=v[k];
k=p[k];
}
for(int i=1;i<=maxx;++i)
cout<<vn[i]<<" ";
}