商品價格經常是起起伏伏,例如石油的價格幾乎時時都有變動,有時上漲,有時下跌。商品交易商在低價時買進高價賣出就可以利用其中的價差獲取利益。2066 年6 月6 日Automatic Investment 公司以複雜的人工智慧技術開發一套商品價格的預測系統,此系統命名為AI-666,但發展了這麼多複雜的運算技術後,他們現在剩下一個小問題:假設AI-666 的價格預測是準確的,那麼最多可以在這一段期間賺到多少錢。公司的研發經理希望以這個問題來考驗你,看看你是否有資格加入該公司的研發團隊。
商品交易的規則是這樣的:
1. 只能先買後賣,不可以先賣後買。
2. 每次買與賣都限定是一個單位的商品。同時,在買入之後,賣出之前,不可以再買入。
3. 由於法令的規定,在此期間內最多只能進行K 次的交易(一次交易包含買賣各一次)。
輸入的資料是AI-666 系統所預測
舉例來說,以下資料是11 個時間點的價格:
如果
每筆測資共有二行。第一行為兩個正整數
以單獨一行輸出不超過K 次交易的最大可能獲利,若無法獲利則應輸出0。
11 1 100 90 185 120 80 150 140 180 110 150 50
100
11 2 100 90 185 120 80 150 140 180 110 150 50
195
11 5 100 90 185 120 80 150 140 180 110 150 50
245
3 1 100 100 85
0
本題共有四個子題,每一子題可有多筆測試資料,全部解出可獲該子題的分數。
第一子題(13 分):
第二子題(24 分):
第三子題(45 分):
第四子題(18 分):
106學年度高級中學資訊學科能力競賽決賽 程式設計試題第六題
No. | Testdata Range | Score |
---|---|---|
1 | 0~5 | 13 |
2 | 6~13 | 24 |
3 | 14~21 | 45 |
4 | 22~30 | 18 |