解題心得
題目中的利潤跟我認知的不一樣,整題花在理解題意上面的時間最久。
程式碼
#include<iostream> using namespace std; int main() { int n, d, a[101] = { 0 }, sum = 0, current = -1; bool flag = false; cin >> n >> d; for (int i = 0; i < n; i++) { cin >> a[i]; if (i == 0) { current = a[i]; flag = true; } else if (flag && a[i] >= current + d) { sum += a[i] - current; current = a[i]; flag = false; } else if (!flag && a[i] <= current - d) // 當下沒有持有股票 { current = a[i]; flag = true; } } cout << sum; return 0; }
沒有留言:
張貼留言