QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#14137. 高峰时间

Statistics

你正在管理一列有 $n$ 节车厢的地铁列车。车厢里不均匀地分布着 $n \cdot k$ 个人;更具体地说,第 $i$ 节车厢里有 $h_i$ 个人。你想平衡载荷,使得每节车厢里恰好有 $k$ 个人。

在每个停靠站,一些人(可能没有)可以离开他们所在的车厢并奔跑前往另一节车厢,但他们在一次奔跑中移动的距离不能超过 $d$ 节车厢。

由你来决定谁在什么时候跑向哪里。你需要多少个停靠站才能达到目标?

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 $t$ ($1 \le t \le 10^4$)。接下来是测试用例的描述。

每个测试用例的第一行包含两个整数 $n$ 和 $d$ ($1 \le d \le n \le 10^6$):车厢数量以及一个人一次最多可以奔跑的距离。

每个测试用例的第二行包含 $n$ 个整数 $h_1, h_2, \dots, h_n$ ($0 \le h_i \le 10^9$):列车上人员的分布情况。$h_i$ 的总和可以被 $n$ 整除。

所有测试用例中 $n$ 的总和不超过 $10^6$。

输出格式

对于每个测试用例,输出一行,包含一个整数:你需要的停靠站数量。

样例

输入格式 1

3
1 1
5
3 2
3 0 0
10 1
0 0 10 0 0 0 0 10 0 0

输出格式 1

0
1
2

说明

在第一个测试用例中,只有一节车厢,因此人数从一开始就是均匀分布的。

在第二个测试用例中,在开始之前,第一节车厢里有 3 个人:Aleksei、Dima 和 Kostya。在第一个停靠站,Dima 跑向第二节车厢,Kostya 跑向第三节车厢,因此只需一个停靠站即可使每节车厢都恰好有 1 个人。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.