P1022千仓平丰歉balance

时间限制 1000 ms内存限制 512 MiB通过率 —
显示算法标签数学 · 同余 · 贪心

【题目背景】

星尘镇的暴政已经被推翻,留在各处仓库中的物资却依旧丰歉不一。为了让镇民能够重新安排生活,tfbz 决定先平衡这些仓库的储备。

【题目描述】

星尘镇共有 nn 座仓库,第 ii 座仓库最初存有 cic_i 单位物资。tfbz 可以进行任意多次操作,每次从下列两种方式中选择一种:

  • 选择一座仓库,向其中运入 aa 单位物资;
  • 选择一座仓库,向其中运入 bb 单位物资。

两种操作中的 a,ba,b 均为固定正整数。tfbz 可以反复选择同一座仓库,也可以不进行任何操作。

在一次调整结束后,记物资最多的仓库与物资最少的仓库之间的储备量之差为这次调整的储备差。tfbz 希望最终的储备差尽可能小。

对于每组给定的仓库储备,请求出经过任意多次操作后最小可能的储备差

【输入格式】

从文件 balance.in\textbf{\textit{balance.in}} 中读入数据。

第一行一个整数 TT,表示测试数据的组数。

对于每组测试数据:

  • 第一行三个正整数 n,a,bn,a,b,分别表示仓库数量和两种操作增加的物资量;
  • 第二行 nn 个正整数 c1,c2,,cnc_1,c_2,\cdots,c_n,表示各座仓库最初的物资量。

【输出格式】

输出到文件 balance.out\textbf{\textit{balance.out}} 中。

对于每组测试数据,输出一行一个整数,表示最小可能的储备差

【样例 1 输入】

34 5 51 3 4 44 2 31 3 4 63 15 91 9 5

【样例 1 输出】

302

【说明/提示】

【样例 1 解释】

对于第一组测试数据,可以向第一座仓库运入 55 单位物资,此时各仓库的储备量依次为 6,3,4,46,3,4,4储备差33

对于第二组测试数据,可以通过若干次操作使四座仓库的储备量都变为 66,因此最小的储备差00

【样例 2】

见选手目录下的 balance/balance2.in\textbf{\textit{balance/balance2.in}}balance/balance2.ans\textbf{\textit{balance/balance2.ans}}

该组样例符合测试点 141\sim 4 的数据范围。

【样例 3】

见选手目录下的 balance/balance3.in\textbf{\textit{balance/balance3.in}}balance/balance3.ans\textbf{\textit{balance/balance3.ans}}

该组样例符合测试点 585\sim 8 的数据范围。

【样例 4】

见选手目录下的 balance/balance4.in\textbf{\textit{balance/balance4.in}}balance/balance4.ans\textbf{\textit{balance/balance4.ans}}

该组样例符合测试点 9129\sim 12 的数据范围。

【样例 5】

见选手目录下的 balance/balance5.in\textbf{\textit{balance/balance5.in}}balance/balance5.ans\textbf{\textit{balance/balance5.ans}}

该组样例符合测试点 131513\sim 15 的数据范围。

【样例 6】

见选手目录下的 balance/balance6.in\textbf{\textit{balance/balance6.in}}balance/balance6.ans\textbf{\textit{balance/balance6.ans}}

该组样例符合测试点 162016\sim 20 的数据范围。

【数据范围】

对于 100%100\% 的数据,保证:1T1041\leq T\leq 10^41n1051\leq n\leq 10^5,单个测试点内 n105\sum n\leq 10^51a,b,ci1091\leq a,b,c_i\leq 10^9

测试点编号nna,ba,b特殊性质
141\sim 48\leq 88\leq 8
585\sim 8105\leq 10^5gcd(a,b)=1\gcd(a,b)=1
9129\sim 12105\leq 10^5gcd(a,b)100\gcd(a,b)\leq 100
131513\sim 15105\leq 10^5109\leq 10^9
162016\sim 20105\leq 10^5109\leq 10^9

特殊性质:保证 a=ba=b

【题解】

已公开 1 篇题解,官方题解会优先显示。

查看题解