h081: 1. 程式交易
Tags : APCS 模擬 陣列
Accepted rate : 204人/223人 ( 91% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-01-09 20:09

Content

小明最近想要用程式做股票交易,給一個股票的歷史價格 $a[1], a[2], ..., a[n]$ 他的投資策略如下
1. 同一個時間最多只會持有一張股票, 並會在時間點 $1$ 花 $a[1]$ 買進。
2. 若當下持有股票且該股票買進價格為 $x$,當遇到價格 $y$ 大於等於 $x + D$ 時即賣出,並轉得利潤 $y - x$。
3. 若當下沒有持有股票且上一次的賣出價格為 $x$,當遇到價格 $y$ 小於等於 $x - D$ 時則會買進股票。

輸出依照上述規則買賣後所得到的利潤和,若交易結束仍持有股票,則不考慮該股票買進的成本,直接無視該股票即可。

Input

第一行輸入兩個正整數 $n, D$,接下來有 $n$ 個正整數,代表每個時間點股票的價格。

 

數字範圍

  • $1 \leq n \leq 100, 1 \leq D \leq 100$
  • $1 \leq a[i] \leq 100$

子題配分

  • (50%): $n = 3$
  • (50%): 無額外限制
Output

輸出一個正整數,代表總利潤。

Sample Input #1
3 10
50 20 45
Sample Output #1
0
Sample Input #2
6 10
30 20 45 38 10 20
Sample Output #2
25
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (5%): 1.0s , <1K
公開 測資點#1 (5%): 1.0s , <1K
公開 測資點#2 (5%): 1.0s , <1K
公開 測資點#3 (5%): 1.0s , <1K
公開 測資點#4 (5%): 1.0s , <1K
公開 測資點#5 (5%): 1.0s , <1K
公開 測資點#6 (5%): 1.0s , <1K
公開 測資點#7 (5%): 1.0s , <1K
公開 測資點#8 (5%): 1.0s , <1K
公開 測資點#9 (5%): 1.0s , <1K
公開 測資點#10 (5%): 1.0s , <1K
公開 測資點#11 (5%): 1.0s , <1K
公開 測資點#12 (5%): 1.0s , <1K
公開 測資點#13 (5%): 1.0s , <1K
公開 測資點#14 (5%): 1.0s , <1K
公開 測資點#15 (5%): 1.0s , <1K
公開 測資點#16 (5%): 1.0s , <1K
公開 測資點#17 (5%): 1.0s , <1K
公開 測資點#18 (5%): 1.0s , <1K
公開 測資點#19 (5%): 1.0s , <1K
Hint :

範例 1
總共 $3$ 個時間點,於時間點 $1$ 花費 $50$ 買進股票,但後續沒有任何時間點超過 $50$ 元,因此總利潤為 $0$

範例 2
總共 $6$ 個時間點,於時間點 $1$ 花費 $30$ 買進股票,並於時間點 $3$ 得到 $45$ 賣出獲得利潤為 $15$,再於時間點 $5$ 花費 $10$ 買進,並於時間點 $6$ 賣出獲得利潤為 $10$,總利潤為 $25$。

Tags:
APCS 模擬 陣列
出處:
2022年1月APCS [管理者:
cthbst (吳宗達)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」