AT_arc063_b.[ABC047D] 高橋君と見えざる手

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 个城镇排成一条直线。行商人高桥君从城镇 11 出发,一边买卖苹果一边前往城镇 NN。

一开始,高桥君在城镇 11,手中没有任何苹果。高桥君可以重复进行以下任意操作:

  • 移动:当他在城镇 ii(i<Ni < N)时,可以移动到城镇 i+1i+1。
  • 苹果买卖:可以在任意城镇 ii(1≤i≤N1 \leq i \leq N)以 AiA_i 日元的价格任意买入或卖出任意数量的苹果。这里 AiA_i 是互不相同的整数。

在一个城镇中买卖苹果的数量没有限制,但整个旅途中买卖苹果的总数(买入和卖出的总和)不能超过 TT 个。

高桥君会选择使旅途利润(即卖出苹果所得总金额减去买入苹果所花总金额)最大的方式进行旅途。旅途结束时手中剩余苹果的价值不计入利润,只考虑买卖过程中产生的金额。

在旅途开始前,青木君可以对任意城镇 ii 的 AiA_i 修改为任意非负整数 Ai′A_i',每进行一次这样的操作需要支付 ∣Ai−Ai′∣|A_i - A_i'| 的代价。操作后,不同城镇之间苹果价格可以相同。

青木君的目标是用尽可能小的总代价,使高桥君的最大利润至少减少 11 日元。请你求出所需总代价的最小值。

可以假设在初始状态下,高桥君一定可以获得至少 11 日元的利润。

输入格式

输入以如下格式从标准输入读入:

NN TT A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出使高桥君的利润至少减少 11 日元所需的总代价的最小值。

输入输出样例

  • 输入#1

    3 2
    100 50 200

    输出#1

    1
  • 输入#2

    5 8
    50 30 40 10 20

    输出#2

    2
  • 输入#3

    10 100
    7 10 4 5 9 3 6 8 2 1

    输出#3

    2

说明/提示

限制条件

  • 1≤N≤1051 \leq N \leq 10^5
  • 1≤Ai≤1091 \leq A_i \leq 10^9(1≤i≤N1 \leq i \leq N)
  • AiA_i 互不相同
  • 2≤T≤1092 \leq T \leq 10^9
  • 保证输入情况下高桥君可以获得至少 11 日元的利润

样例解释 1

在该输入情况下,高桥君可以通过以下方式获得最大利润 150150 日元:

  1. 从城镇 11 移动到城镇 22。
  2. 在城镇 22 以 5050 日元买入 11 个苹果。
  3. 从城镇 22 移动到城镇 33。
  4. 在城镇 33 以 200200 日元卖出 11 个苹果。

例如,如果青木君将城镇 22 的苹果价格从 5050 日元改为 5151 日元,高桥君无论如何都无法获得 150150 日元的利润。也就是说,只需花费 11 的代价就能使高桥君的利润至少减少 11 日元,因此答案为 11。同样地,将城镇 33 的苹果价格从 200200 日元改为 199199 日元,也可以以 11 的代价达到目的。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页