CF2156E.Best Time to Buy and Sell Stock

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

一个长度为 mm 的数组 bb(其中 m≥2m \ge 2)的美丽值定义为所有下标对 ii 和 jj 满足 1≤i<j≤m1\le i < j\le m 时的最大值 bj−bib_j - b_i。更正式地,其等于 max⁡1≤i<j≤m(bj−bi)\max\limits_{1\le i < j\le m} (b_j - b_i)。注意,如果该数组严格递减,美丽值可能为负数。

Hao 和 Alex 在一个长度为 nn 的数组 aa 上轮流进行游戏。初始时,数组中所有元素都是未锁定的。两人轮流行动,由 Hao 先手。

  • Hao 的回合,他选择一个未锁定的 aa 中的元素并将其移除。
  • Alex 的回合,他选择一个未锁定的 aa 中的元素并将其锁定(之后不能再被移除)。

当所有元素都被锁定或移除后,游戏结束。可以证明游戏恰好持续 nn 个回合,最终数组中会恰好剩下 ⌊n2⌋\left\lfloor \frac{n}{2} \right\rfloor 个被锁定的元素。

Hao 希望最终锁定数组的美丽值尽可能小,而 Alex 希望它尽可能大。求当两人都采取最优策略时,最终锁定的元素数组的美丽值。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例组数。

每组测试用例的第一行包含一个整数 nn(4≤n≤1054 \le n \le 10^5),表示数组 aa 的大小。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1091 \le a_i \le 10^9),表示数组 aa 的元素。

保证所有测试用例中 nn 的总和不超过 10510^5。

输出格式

对于每个测试用例,输出一个整数,表示当两人均采取最优策略时最终锁定数组的美丽值。

输入输出样例

  • 输入#1

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

    输出#1

    1
    -2
    5
    3
    1
    -999999998

说明/提示

在第一个测试用例中,游戏可能如下进行。加粗的元素表示已被 Alex 锁定:

  • 第 1 回合(Hao):移除元素 11(在第 22 位),剩下 [5,2,3,4][5, 2, 3, 4]。
  • 第 2 回合(Alex):锁定元素 33(在第 33 位),剩下 [5,2,3,4][5, 2, \mathbf{3}, 4]。
  • 第 3 回合(Hao):移除元素 22(在第 22 位),剩下 [5,3,4][5, \mathbf{3}, 4]。
  • 第 4 回合(Alex):锁定元素 44(在第 33 位),剩下 [5,3,4][5, \mathbf{3}, \mathbf{4}]。
  • 第 5 回合(Hao):移除元素 55(在第 11 位),剩下 [3,4][\mathbf{3}, \mathbf{4}]。

最终锁定数组 b=[3,4]b = [3, 4] 的美丽值等于 b2−b1=4−3=1b_2 - b_1 = 4 - 3 = 1。

在第二个测试用例中,答案可能为负数:

  • 第 1 回合(Hao):移除元素 22(在第 33 位),剩下 [3,1,1][3, 1, 1]。
  • 第 2 回合(Alex):锁定元素 11(在第 22 位),剩下 [3,1,1][3, \textbf{1}, 1]。
  • 第 3 回合(Hao):移除元素 11(在第 33 位),剩下 [3,1][3, \textbf{1}]。
  • 第 4 回合(Alex):锁定元素 33(在第 11 位),剩下 [3,1][\textbf{3}, \textbf{1}]。

最后锁定数组 b=[3,1]b = [3, 1] 的美丽值为 b2−b1=1−3=−2b_2 - b_1 = 1 - 3 = -2。

在第三个测试用例中,假设两人均采取最优操作,最终锁定的数组可能是 b=[3,5,8,5,1]b = [3, 5, 8, 5, 1]。其美丽值,即所有下标满足 1≤i<j≤51 \le i < j \le 5 时 bj−bib_j - b_i 的最大值,为 b3−b1=8−3=5b_3 - b_1 = 8 - 3 = 5。

由 ChatGPT 5 翻译

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

首页