文章
150
粉丝
0
获赞
558
访问
23.3k
#include <bits/stdc++.h>
using namespace std;
int dp[1001], a[1001], n;
int LIS_nn() {
int ans = 0;
for (int i = 1; i <= n; ++i) {
dp[i] = a[i]; // 初始化:至少包含自己
for (int j = 1; j < i; ++j) {
if (a[j] < a[i]) { // 满足上升条件
dp[i] = max(dp[i], dp[j] + a[i]);
}
}
ans = max(ans, dp[i]);
}
return ans;
}
int main() {
while (cin >> n) {
for (int i = 1; i <= n; ++i) {
cin >> a[i];
}
cout << LIS_nn() << endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发