解题思路:

  • 用dp记录收益之和,对于价格贪心只要当天价格比前一天高那么做一次交易,dp加上收益一直到结束,输出, 时间复杂度O(n)O(n),空间复杂度O(1)O(1)
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int v, tmp = INT_MAX, dp = 0;
    for(int i = 0; i < n; ++i){
        scanf("%d", &v);
        dp += v > tmp? v- tmp: 0;
        tmp = v; 
    }
    cout<<dp<<endl;
    return 0;
}