1 条题解
-
0Guest LV 0
-
0
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
long long a[10000],b[10000],c[10000];
int main()
{
int l,k;
cin>>n;
for(int i=1;i<=n;i++)
{cin>>a[i];
b[i]=1;c[i]=0;
}
if (n==0)
{
printf("0\n");
return 0;
}
for(int i=n-1;i>0;i--)
{
l=0;k=0;
for(int j=i+1;j<=n;j++)
if(a[j]>a[i]&&b[j]>l)
{
l=b[j];
k=j;
}
if(l>0)
{
b[i]=l+1;
c[i]=k;
}
}
k=1;
for(int i=2;i<=n;i++)
if(b[i]>b[k]) k=i;
cout<<"max="<<b[k]<<endl;
cout<<a[k];
k=c[k];
while(k!=0)
{
cout<<" "<<a[k];
k=c[k];
}
}
- 1
信息
- 难度
- 5
- 分类
- (无)
- 标签
- 递交数
- 36
- 已通过
- 13
- 通过率
- 36%
- 上传者