记录编号 516286 评测结果 AAAAAAAAAA
题目名称 最长上升子序列 最终得分 100
用户昵称 GravatarHale 是否通过 通过
代码语言 C++ 运行时间 0.008 s
提交时间 2018-10-24 18:11:58 内存使用 0.33 MiB
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int a[1001][4];
  4. int m,n,ans;
  5. int main()
  6. { freopen("lis1.in","r",stdin);
  7. freopen("lis1.out","w",stdout);
  8. scanf("%d",&n);
  9. for (int i=1;i<=n;i++)
  10. { scanf("%d",&a[i][1]);
  11. a[i][2]=1;
  12. }
  13. for (int i=n-1;i>=1;i--)
  14. { int l=0,k=0;
  15. for (int j=i+1;j<=n;j++)
  16. if (a[i][1]<a[j][1]&&a[j][2]>l)
  17. { l=a[j][2];
  18. k=j;
  19. }
  20. if (l>0) a[i][2]=l+1;
  21. }
  22. for (int i=1;i<=n;i++)
  23. ans=max(ans,a[i][2]);
  24. printf("%d",ans);
  25. return 0;
  26. }