题意简述
股票市场一共$n<=2e5$天,每天股票价格是$a_i$。你开始有正无穷的钱,每天珂以买/卖一个单位的股票,也珂以吊也不干。求最大利润(净赚)。
思路
弄一个priority_queue,对于第$i$天,选择之前最便宜的一天买来,然后今天卖了。
但显然这样不一定最优,我们需要一个反悔的系统,珂以让我们撤销一次操作。
考虑到$(a-b)+(b-c)=a-c$。那么,只要存在两个$b$,就珂以相当于撤回了之前做的生意。
所以,我们每次枚举到一个点,就把它入队列两次即珂。入完队列之后,取最小的做交易。注意开long long
代码
1 |
|