ruiking12138 level
获赞
3
粉丝
1
关注
11
看过 TA
15
中国科学技术大学
2025
BSP工程师
IP属地:浙江
嵌入式Linux
私信
关注
#include <iostream>#include <vector>#include <algorithm>#include <cstring>using namespace std;int solve(int n, const vector<int>& a) {int dp[16][n + 1];memset(dp, -1, sizeof(dp)); // 初始化 dp 数组,初始值为 -1dp[15][0] = 0;for (int i = 0; i < n; ++i) {for (int j = 0; j < 16; ++j) {if (dp[j][i] < 0) {continue;}for (int k = 0; k < 4; ++k) {if ((j & (1 << k)) == 0) {continue;}int ni = i + k + 1;int nj = j ^ (1 << k);if (ni > n) {continue;}if (nj == 0) {nj = 15;}dp[nj][ni] = max(dp[nj][ni], dp[j][i] + a[ni]);}}}int res = -1;for (int i = 1; i < 16; ++i) {res = max(res, dp[i][n]);}return res;}int main() {int n;cin >> n;vector<int> a(n + 1);for (int i = 1; i <= n; ++i) {cin >> a[i];}cout << solve(n, a) << endl; // 输出最大收益return 0;}
投递美团等公司10个岗位
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务