比赛 刷题ing 评测结果 AAAAAAAAAA
题目名称 渡轮问题 最终得分 100
用户昵称 梦那边的美好ET 运行时间 0.186 s
代码语言 C++ 内存使用 0.43 MiB
提交时间 2018-05-24 21:28:07
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<algorithm>
  4. using namespace std;
  5. int n,a[10001],b[10001],c[10001];
  6. int main()
  7. {
  8. freopen("maxxl.in","r",stdin);
  9. freopen("maxxl.out","w",stdout);
  10. cin>>n;
  11. for(int i=1;i<=n;i++)
  12. {
  13. cin>>a[i];
  14. b[i]=1;
  15. c[i]=i;
  16. }
  17. for(int i=n-1;i>=1;i--)
  18. {
  19. int m1=i;
  20. for(int j=i+1;j<=n;j++)
  21. {
  22. if(a[i]<=a[j]&&b[i]<=b[j])
  23. {
  24. b[i]=b[j]+1;
  25. m1=j;
  26. }
  27. }
  28. c[i]=m1;
  29. }
  30. int ma=-1,m1;
  31. for(int i=1;i<=n;i++)
  32. {
  33. if(b[i]>ma)
  34. {
  35. ma=b[i];
  36. m1=i;
  37. }
  38. }
  39. cout<<ma<<endl;
  40. while(c[m1]!=m1)
  41. {
  42. cout<<a[m1]<<" ";
  43. m1=c[m1];
  44. }
  45. cout<<a[m1];
  46. return 0;
  47. }