作業上傳:http://203.68.236.9/problem/c0004
zerojudge網址:https://zerojudge.tw/ShowProblem?problemid=h081
小明最近想要用程式做股票交易,給一個股票的歷史價格a[1],a[2],...,a[n] 他的投資策略如下
1. 同一個時間最多只會持有一張股票, 並會在時間點1 花a[1] 買進。
2. 若當下持有股票且該股票買進價格為 x,當遇到價格 y 大於等於 x+D 時即賣出,並轉得利潤 y-x。
3. 若當下沒有持有股票且上一次的賣出價格為 x,當遇到價格 y 小於等於 x-D 時則會買進股票。
輸出依照上述規則買賣後所得到的利潤和,若交易結束仍持有股票,則不考慮該股票買進的成本,直接無視該股票即可。
輸入說明
第一行輸入兩個正整數 n,D,接下來有n個正整數,代表每個時間點股票的價格。
數字範圍
(1) 1<=n<=100,1<=D<=100
(2) 1<=a[i] <=100
輸出說明
輸出一個正整數,代表總利潤。
輸入範例
3 10
50 20 45
6 10
30 20 45 38 10 20
輸出範例
0
25
提示 :
範例 1
總共3個時間點,於時間點1 花費 50 買進股票,但後續沒有任何時間點超過50 元,因此總利潤為0
範例 2
總共6個時間點,於時間點1花費 30 買進股票,並於時間點3得到 45賣出獲得利潤為 15,再於時間點 5花費 10買進,並於時間點 6 賣出獲得利潤為 10,總利潤為25 。
解題策略
模擬
C++程式碼
Python程式碼,上方C++程式碼經由ChatGPT轉換成Python,再進行修改