#CF1616D. 保持高平均值

保持高平均值

保持高平均值

  • 时间限制:1.5 秒
  • 内存限制:256 MiB

题目描述

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

你需要选择尽可能多的数组元素,使得对于任意一个长度大于 11 的连续子段 al,al+1,…,ara_l,a_{l+1},\ldots,a_r,下列两个条件至少满足一个:

  • 该子段中至少有一个元素未被选择;
  • 该子段所有元素之和不小于 x⋅(r−l+1)x\cdot(r-l+1)。

输入格式

第一行包含一个整数 tt,表示测试数据组数。

接下来是 tt 组测试数据。每组数据包含三行:

  • 第一行包含一个整数 nn,表示数组长度;
  • 第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n;
  • 第三行包含一个整数 xx。

输出格式

对于每组测试数据,输出一行一个整数,表示最多可以选择的元素个数。

样例输入 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

数据范围

对于所有数据,1≤t≤101\le t\le10,1≤n≤500001\le n\le50000,−100000≤ai≤100000-100000\le a_i\le100000,−100000≤x≤100000-100000\le x\le100000。

子任务编号 分值 特殊限制
1 24 n≤18n \le 18
2 20 对所有 ii 均有 ai≥xa_i \ge x
3 28 n≤2000n \le 2000
4 无特殊限制

提示

在样例一中,可以不选择元素 22,并选择其余四个元素。不能选择所有元素,因为子段 [1,2][1,2] 的元素和为 33,小于 2×22\times2。

在样例二中,可以选择所有值为 44 的元素和首尾适当的值为 22 的元素,共选择 88 个。

在样例三中,可以选择两个值为 −10-10 的元素;在样例四中,可以选择前两个值为 99 的元素。