CF1616D.Keep the Average High

普及+/提高

通过率:0%

时间限制:1.50s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given an array of integers a1,a2,…,ana_1, a_2, \ldots, a_n and an integer xx.

You need to select the maximum number of elements in the array, such that for every subsegment al,al+1,…,ara_l, a_{l + 1}, \ldots, a_r containing strictly more than one element (l<r)(l \lt r), either:

  • At least one element on this subsegment is not selected, or
  • al+al+1+…+ar≥x⋅(r−l+1)a_l + a_{l+1} + \ldots + a_r \geq x \cdot (r - l + 1).

给你一个整数数组 a1,a2,…,ana_1, a_2, \ldots, a_n 和一个整数 xx。

你需要从该数组中选出尽可能多的元素,使得对任意包含严格多于一个元素的子段 al,al+1,…,ara_l, a_{l + 1}, \ldots, a_r(即满足 l<rl \lt r),以下两个条件中至少有一个成立:

  • 该子段中至少有一个元素未被选中;或
  • al+al+1+…+ar≥x⋅(r−l+1)a_l + a_{l+1} + \ldots + a_r \geq x \cdot (r - l + 1)。

输入格式

The first line of input contains one integer tt (1≤t≤101 \leq t \leq 10): the number of test cases.

The descriptions of tt test cases follow, three lines per test case.

In the first line you are given one integer nn (1≤n≤50 0001 \leq n \leq 50\,000): the number of integers in the array.

The second line contains nn integers a1,a2,…,ana_1, a_2, \ldots, a_n (−100 000≤ai≤100 000-100\,000 \leq a_i \leq 100\,000).

The third line contains one integer xx (−100 000≤x≤100 000-100\,000 \leq x \leq 100\,000).

输入的第一行包含一个整数 tt(1≤t≤101 \leq t \leq 10):测试用例的数量。

接下来是 tt 个测试用例的描述,每个测试用例占三行。

第一行给出一个整数 nn(1≤n≤50 0001 \leq n \leq 50\,000):数组中整数的个数。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(−100 000≤ai≤100 000-100\,000 \leq a_i \leq 100\,000)。

第三行包含一个整数 xx(−100 000≤x≤100 000-100\,000 \leq x \leq 100\,000)。

输出格式

For each test case, print one integer: the maximum number of elements that you can select.

对于每个测试用例,输出一个整数:你能选择的元素的最大数量。

输入输出样例

  • 输入#1

    4
    5
    1 2 3 4 5
    2
    10
    2 4 2 4 2 4 2 4 2 4
    3
    3
    -10 -5 -10
    -8
    3
    9 9 -3
    5

    输出#1

    4
    8
    2
    2

说明/提示

In the first example, one valid way to select the elements is [1‾,2,3‾,4‾,5‾][\underline{1}, 2, \underline{3}, \underline{4}, \underline{5}]. All subsegments satisfy at least one of the criteria. For example, for the subsegment l=1l = 1, r=2r = 2 we have that the element 22 is not selected, satisfying the first criterion. For the subsegment l=3l = 3, r=5r = 5 we have 3+4+5=12≥2⋅33 + 4 + 5 = 12 \ge 2 \cdot 3, satisfying the second criterion.

We can't select all elements, because in this case for l=1l = 1, r=2r = 2 all elements are selected and we have a1+a2=3<2⋅2a_1 + a_2 = 3 \lt 2 \cdot 2. Thus, the maximum number of selected elements is 44.

In the second example, one valid solution is [2‾,4‾,2,4‾,2‾,4‾,2,4‾,2‾,4‾][\underline{2}, \underline{4}, 2, \underline{4}, \underline{2}, \underline{4}, 2, \underline{4}, \underline{2}, \underline{4}].

In the third example, one valid solution is [−10‾,−5,−10‾][\underline{-10}, -5, \underline{-10}].

In the fourth example, one valid solution is [9‾,9‾,−3][\underline{9}, \underline{9}, -3].

在第一个例子中,一种合法的元素选择方式是 [1‾,2,3‾,4‾,5‾][\underline{1}, 2, \underline{3}, \underline{4}, \underline{5}]。所有子区间均满足至少一条判定准则。例如,对子区间 l=1l = 1、r=2r = 2,元素 22 未被选中,满足第一条准则;对子区间 l=3l = 3、r=5r = 5,有 3+4+5=12≥2⋅33 + 4 + 5 = 12 \ge 2 \cdot 3,满足第二条准则。

我们不能选择全部元素,因为此时对 l=1l = 1、r=2r = 2,所有元素均被选中,而 a1+a2=3<2⋅2a_1 + a_2 = 3 \lt 2 \cdot 2。因此,最多可选择的元素个数为 44。

在第二个例子中,一种合法解为 [2‾,4‾,2,4‾,2‾,4‾,2,4‾,2‾,4‾][\underline{2}, \underline{4}, 2, \underline{4}, \underline{2}, \underline{4}, 2, \underline{4}, \underline{2}, \underline{4}]。

在第三个例子中,一种合法解为 [−10‾,−5,−10‾][\underline{-10}, -5, \underline{-10}]。

在第四个例子中,一种合法解为 [9‾,9‾,−3][\underline{9}, \underline{9}, -3]。

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

首页