陣列的最大代價
陣列A包含N個元素A1, A2......AN。陣列B包含N個元素B1, B2......BN。並且陣列A中的每一個元素Ai,都滿足1 <= Ai <= Bi。陣列A的代價定義如下:
(公式表示所有兩個相鄰元素的差的絕對值之和)
給出陣列B,計算可能的最大代價S。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int fun(vector<int> &B, int N)
{
int dp[N][2];
dp[0][0] = 0;
dp[0][1] = 0;
for (int i = 1; i < N; i++)
{
dp[i][0] = max(dp[i-1][0], dp[i-1][1] + B[i-1] - 1);
dp[i][1] = max(dp[i-1][0] + B[i] - 1, dp[i-1][1] + abs(B[i]-B[i-1]));
}
return max(dp[N-1][0], dp[N-1][1]);
}
int main()
{
int N;
scanf("%d", &N);
vector<int> B;
int a;
for (int i = 0; i < N; i++)
{
scanf("%d", &a);
B.push_back(a);
}
cout << fun(B, N) << endl;
return 0;
}
相關文章
- 求二維陣列中最大子陣列的和陣列
- 連續子陣列的最大和陣列
- LeetCode 410——分割陣列的最大值LeetCode陣列
- 【DP】乘積最大子陣列陣列
- 53. 最大子陣列和陣列
- 最大連續子陣列和(最大子段和)陣列
- 最大連續子陣列和的實現陣列
- 返回陣列中的最大元素個數陣列
- 陣列中的第K個最大元素陣列
- 子陣列的最大異或和問題陣列
- js獲取 陣列最大/小值JS陣列
- LeetCode53. 最大子陣列和LeetCode陣列
- [Python手撕]最大子陣列和Python陣列
- 給定陣列中找到最大的兩個數陣列
- leetcode-624.陣列列表中的最大距離LeetCode陣列
- JZ-030-連續子陣列的最大和陣列
- lc3041 修改陣列後最大化陣列中的連續元素數目陣列
- 第四章:多維陣列和矩陣 ------------- 4.7 子陣列最大累加和陣列矩陣
- 最大子陣列問題(Maximum subarray problem)陣列
- 【力扣】最大子陣列和(貪心)力扣陣列
- 53_Maximum Subarray-最大子陣列陣列
- 【Leetcode】152.乘積最大子陣列LeetCode陣列
- JavaScript 獲取陣列中最大值JavaScript陣列
- LeetCode-152-乘積最大子陣列LeetCode陣列
- JavaScript 陣列排序 與 求最大值JavaScript陣列排序
- 給出一個由[-100,100]之間整陣列成的陣列,求其相加和最大的連續子陣列 輸入 一個連續整陣列成的陣列 輸出 子陣列相加的最大值 樣例輸入 -......陣列
- JavaScript陣列中的最大值和最小值JavaScript陣列
- 215. 陣列中的第K個最大元素陣列
- leetcode-陣列中兩元素的最大乘積(Java)LeetCode陣列Java
- 2439. 最小化陣列中的最大值陣列
- 每日一練(22):連續子陣列的最大和陣列
- 牛客題霸--連續子陣列的最大和陣列
- JavaScript 陣列最大值和最小值JavaScript陣列
- LeetCode-215-陣列中的第K個最大元素LeetCode陣列
- 劍指office--31. 連續子陣列的最大和陣列
- 劍指Offer-連續子陣列中的最大和陣列
- 劍指 Offer 42.連續子陣列的最大和陣列
- 第四章:多維陣列和矩陣 ------------- 4.8 子矩陣的最大累加和陣列矩陣
- 陣列左邊減去右邊數值的最大差值陣列