股王 小方 最近股票買哪一張哪一張就跌,把過去將近 20 年的壓歲錢都輸光,所以大家都說:消失的 20 年。
現在 小方 剩下買一次股票的錢,而且就決定買編號 0612 CIA 這隻股票。
於是身為 0612 CIA 的一員的你,你發現未來很多天股價的機密資訊,好心的你決定告訴 小方 要在什麼時候買以及什麼時候賣,以及可以賺到多少錢。
但是為了要先讓 小方 感興趣你所計算出的資訊,所以現在你只要計算出可以賺到多少錢。
⚠️注意,最多只能買賣一次!
⚠️注意,不能賣空,所以只能先買後賣!
範例測資
範例輸入 | 範例輸出 |
---|---|
輸入只有一行,有很多個數字,代表這隻股票未來每日的收盤價。 保證為正整數,且第一個數必為 100。 | 輸出一個數字,代表股神 小方 的最大獲利。 |
100 108 115 115 120 109 110 | 20 |
解題思路
使用 EOF 收資料,必且宣告兩個變數 min 和 ans,min 預設為 100,ans 預設為 0。
當收到的資料 > min 時,判斷目前 ans 還是收到的資料 – min 比較大,如果比較大就將其設為新的 ans。如果收到的資料 < min 時,將 min 設為收到的數字。
最後輸出 ans 即可。
範例程式碼-ZeroJudge F934: 消失的二十年
#include <iostream>
using namespace std;
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int N, min = 100, ans = 0;
while (cin >> N) {
if (N > min) {
ans = max(ans, N-min);
}
if (N < min) min = N;
}
cout << ans << "\n";
}
//ZeroJudge F934
//Dr. SeanXD