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