首页 > 其他分享 >1055. 股票买卖 II

1055. 股票买卖 II

时间:2022-11-24 21:36:31浏览次数:57  
标签:股票买卖 1055 int atk II at2 include

贪心模板题
思考这题之前,首先需要明确一点:对于任何买卖操作,即便跨了n天也是一样,都可以拆分成如图的形式
{(at,at+1),(at2,at2+1)....,(atk,atk+1)},这样的集合,即可以拆分成跨度都为1天的小买卖
这样的集合中每项元素可正可负,值即为a(i+1)-a(i)的数值,后一天价格减前一天价格即可得出利润(或损失)
只要,每一项正的元素相加(赢钱的买卖),即可得出最大利润(如此操作不可能有负的小买卖在里面,因为都被分割抛弃了)

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e5+10;
int n;
int sum;
int a[N];
int main()
{
    cin >> n;
    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    for(int i=1;i<n;i++)
    {
        if(a[i]<a[i+1])
        {
            sum+=a[i+1]-a[i];
        }
    }
    cout << sum << endl;
    return 0;
}

 

标签:股票买卖,1055,int,atk,II,at2,include
From: https://www.cnblogs.com/lxl-233/p/16923510.html

相关文章