h081: 1. 程式交易
Tags : APCS 模擬 陣列
Accepted rate : 1207人/1297人 ( 93% ) [非即時]
評分方式:
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
30750 harlivy_fore...(噴火水雞肉飯) h081
256 2022-06-10 00:06
30576 810339@fhsh....(冠傑(真 •鳳薪水題王)) h081
觀念大概
424 2022-05-30 00:22
29369 Imcyj123(cyj891023) h081
思路
758 2022-02-19 04:03
29342 g0010529(熊熊) h081
c++
935 2022-02-16 17:49
29282 tw122385@gma...(1223) h081
python
889 2022-02-11 19:20