记录编号 166492 评测结果 AAAAAAAAAA
题目名称 渡轮问题 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.183 s
提交时间 2015-06-15 14:37:40 内存使用 0.47 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int a[10010],f[10010],qian[10010],d[10010];
int main()
{   freopen("maxxl.in","r",stdin);
	freopen("maxxl.out","w",stdout);

	int o=1,maxx=0,p,n;
    cin>>n;
   for(int i=1;i<=n;++i)
	
	{    cin>>p;
		a[o]=p;
		o++;
	}
	f[1]=1;
	for(int i=2;i<=n;++i)
	{
		f[i]=1;
		for(int j=1;j<=i-1;++j)
		 {
		  if(a[i]>=a[j]&&f[i]<f[j]+1)
		  {
				f[i]=f[j]+1;
				qian[i]=j;
		  }
		}
		if(f[i]>maxx)
		  maxx=f[i];
	}
	cout<<maxx<<endl;
	int k=1;
	for(int i=1;i<=n;++i)
	 if(f[i]>f[k])
	  k=i;
	int u=0;
	while(k!=0)
	{
		d[++u]=a[k];
		k=qian[k];
	}
	for(int i=u;i>=1;--i)
	 cout<<d[i]<<" ";
	///system("pause");
}