AcWing 1055. 股票买卖 II
原题链接
简单
作者:
不幸到吃土
,
2025-01-06 20:46:04
,
所有人可见
,
阅读 1
//本题思路:贪心 + DP
/*
任意两日的交易,均可分解为单位为一天的买卖额
例: 1 5 3 6 第一天买入,第四天卖出 = 5
转化为:第一天买,第二天卖买,第三天卖买,第四天卖 → -1 + 5 -5 + 3 -3 + 6 = 5
故对交易额的进行状态表示:(1)不交易:0 (2)交易:w[i] - w[i-1]
此时可贪心为:若"交易额>0"则交易,否则不交易
*/
#include <iostream>
using namespace std;
const int N = 100010;
int w[N];
int main(){
int n;
cin >> n;
for(int i=0;i<n;i++){
cin >> w[i];
}
int res = 0;
for(int i=1;i<=n;i++){
if(w[i] > w[i-1]) //else res += 0
res += w[i] - w[i-1]; //转化为相邻两天的交易
}
cout << res << endl;
return 0;
}