计蒜客习题:蒜头跳木桩
题目
样例
代码
#include<iostream>
using namespace std;
int ans[1010],a[1010],dp[1010],n;
int len;
int main()
{
cin>>n;
for(int i=n;i>=1;i--)
cin>>a[i];
ans[1]=a[1];
len=1;
for(int i=2;i<=n;++i)
{
if(a[i]>=ans[len]) ans[++len]=a[i];
else
{
int pos=lower_bound(ans,ans+len,a[i])-ans;
ans[pos]=a[i];
}
}
cout<<len;
return 0;
}