题目链接
题目思路
通过代码
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1010;
int n;
int h[N], up[N], down[N];
int main()
{
cin >> n;
for (int i = 1; i <= n; i ++ ) cin >> h[i];
for (int i = 1; i <= n; i ++ )
{
up[i] = 1;
for (int j = 1; j < i; j ++ )
if (h[j] < h[i]) up[i] = max(up[i], up[j] + 1);
}
for (int i = n; i >= 1; i -- )
{
down[i] = 1;
for (int j = n; j > i; j -- )
if (h[j] < h[i]) down[i] = max(down[i], down[j] + 1);
}
int res = 0;
for (int i = 1; i <= n; i ++ ) res = max(res, down[i] + up[i]);
res -- ;
cout << res << endl;
return 0;
}
你的字体真好看~
谢谢哎 !