40 lines
621 B
C++
40 lines
621 B
C++
#include<iostream>
|
|
#include<cstdio>
|
|
#include<cmath>
|
|
using namespace std;
|
|
int b[4][100001];
|
|
int main ()
|
|
{
|
|
int i,j,n,m=-1000001,k,t,s;
|
|
n=1;
|
|
while (cin>>b[1][n]) n++;
|
|
n--;
|
|
for (i=1; i<=n; i++)
|
|
{ b[2][i]=1; b[3][i]=0; }
|
|
for (i=n-1; i>=1; i--)
|
|
{
|
|
t=0; k=0;
|
|
for (j=i+1; j<=n; j++)
|
|
if ((b[1][j]>b[1][i])&&(b[2][j]>t))
|
|
{
|
|
t=b[2][j];
|
|
k=j;
|
|
}
|
|
if (t>0)
|
|
{
|
|
b[2][i]=t+1;
|
|
b[3][i]=k;
|
|
}
|
|
if (b[2][i]>m) m=b[2][i];
|
|
}
|
|
k=1;
|
|
for (j=1; j<=n; j++)
|
|
if (b[2][j]>b[2][k]) k=j;
|
|
cout<<"max="<<m<<endl;
|
|
do
|
|
{
|
|
cout<<b[1][k]<<" ";
|
|
k=b[3][k];
|
|
} while (k!=0);
|
|
}
|
|
|