#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#define maxn 1005
using namespace std;
int dp[maxn];
int nums[maxn];
int main()
{
//freopen("data.in","r",stdin);
ios::sync_with_stdio(false);
memset(dp, 0, sizeof(dp));
memset(nums, 0, sizeof(nums));
int n;
cin >> n;
for(int i = 1; i <= n; ++i) {
cin >> nums[i];
}
int maxJump = 0;
for(int i = n; i >= 1; --i) {
dp[i] = 1;
maxJump = max(maxJump, dp[i]);
for(int j = i+1; j <= n; ++j) {
if(nums[j] <= nums[i]) {
dp[i] = max(dp[i], dp[j]+1);
maxJump = max(maxJump, dp[i]);
}
}
}
cout << maxJump << endl;
return 0;
}
计蒜客 蒜头跳木桩(DP)
最新推荐文章于 2021-04-06 14:50:50 发布