AT_arc063_b [ABC047D] 高橋君と見えざる手
题目描述
有 $N$ 个城镇排成一条直线。行商人高桥君从城镇 $1$ 出发,一边买卖苹果一边前往城镇 $N$。
一开始,高桥君在城镇 $1$,手中没有任何苹果。高桥君可以重复进行以下任意操作:
- 移动:当他在城镇 $i$($i < N$)时,可以移动到城镇 $i+1$。
- 苹果买卖:可以在任意城镇 $i$($1 \leq i \leq N$)以 $A_i$ 日元的价格任意买入或卖出任意数量的苹果。这里 $A_i$ 是互不相同的整数。
在一个城镇中买卖苹果的数量没有限制,但整个旅途中买卖苹果的总数(买入和卖出的总和)不能超过 $T$ 个。
高桥君会选择使旅途利润(即卖出苹果所得总金额减去买入苹果所花总金额)最大的方式进行旅途。旅途结束时手中剩余苹果的价值不计入利润,只考虑买卖过程中产生的金额。
在旅途开始前,青木君可以对任意城镇 $i$ 的 $A_i$ 修改为任意非负整数 $A_i'$,每进行一次这样的操作需要支付 $|A_i - A_i'|$ 的代价。操作后,不同城镇之间苹果价格可以相同。
青木君的目标是用尽可能小的总代价,使高桥君的最大利润至少减少 $1$ 日元。请你求出所需总代价的最小值。
可以假设在初始状态下,高桥君一定可以获得至少 $1$ 日元的利润。
输入格式
输入以如下格式从标准输入读入:
> $N$ $T$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
输出使高桥君的利润至少减少 $1$ 日元所需的总代价的最小值。
说明/提示
## 限制条件
- $1 \leq N \leq 10^5$
- $1 \leq A_i \leq 10^9$($1 \leq i \leq N$)
- $A_i$ 互不相同
- $2 \leq T \leq 10^9$
- 保证输入情况下高桥君可以获得至少 $1$ 日元的利润
## 样例解释 1
在该输入情况下,高桥君可以通过以下方式获得最大利润 $150$ 日元:
1. 从城镇 $1$ 移动到城镇 $2$。
2. 在城镇 $2$ 以 $50$ 日元买入 $1$ 个苹果。
3. 从城镇 $2$ 移动到城镇 $3$。
4. 在城镇 $3$ 以 $200$ 日元卖出 $1$ 个苹果。
例如,如果青木君将城镇 $2$ 的苹果价格从 $50$ 日元改为 $51$ 日元,高桥君无论如何都无法获得 $150$ 日元的利润。也就是说,只需花费 $1$ 的代价就能使高桥君的利润至少减少 $1$ 日元,因此答案为 $1$。同样地,将城镇 $3$ 的苹果价格从 $200$ 日元改为 $199$ 日元,也可以以 $1$ 的代价达到目的。
由 ChatGPT 4.1 翻译