CF985C.Liebig's Barrels

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You have m = n·k wooden staves. The i-th stave has length a__i. You have to assemble n barrels consisting of k staves each, you can use any k staves to construct a barrel. Each stave must belong to exactly one barrel.

Let volume v__j of barrel j be equal to the length of the minimal stave in it.

You want to assemble exactly n barrels with the maximal total sum of volumes. But you have to make them equal enough, so a difference between volumes of any pair of the resulting barrels must not exceed l, i.e. |v__x - v__y| ≤ l for any 1 ≤ x ≤ n and 1 ≤ y ≤ n.

Print maximal total sum of volumes of equal enough barrels or 0 if it's impossible to satisfy the condition above.

你有 m=n⋅km = n \cdot k 根木制桶板。第 ii 根桶板的长度为 aia_i。你需要组装 nn 个木桶,每个木桶由 kk 根桶板构成;你可以任选 kk 根桶板来构造一个木桶。每根桶板必须且仅属于一个木桶。

设第 jj 个木桶的容积 vjv_j 等于该木桶中最短桶板的长度。

你希望恰好组装出 nn 个木桶,使得它们的容积总和最大。但这些木桶还必须“足够均匀”:任意两个最终木桶的容积之差不能超过 ll,即对任意 1≤x≤n1 \le x \le n 和 1≤y≤n1 \le y \le n,均需满足 ∣vx−vy∣≤l|v_x - v_y| \le l。

请输出满足上述“足够均匀”条件的最大容积总和;若无法满足该条件,则输出 00。

输入格式

The first line contains three space-separated integers n, k and l (1 ≤ n, k ≤ 105, 1 ≤ n·k ≤ 105, 0 ≤ l ≤ 109).

The second line contains m = n·k space-separated integers _a_1, _a_2, ..., a__m (1 ≤ a__i ≤ 109) — lengths of staves.

第一行包含三个以空格分隔的整数 nn、kk 和 ll(1≤n,k≤1051 \leq n, k \leq 10^5,1≤n⋅k≤1051 \leq n \cdot k \leq 10^5,0≤l≤1090 \leq l \leq 10^9)。

第二行包含 m=n⋅km = n \cdot k 个以空格分隔的整数 a1,a2,…,ama_1, a_2, \dots, a_m(1≤ai≤1091 \leq a_i \leq 10^9)—— 各木杆的长度。

输出格式

Print single integer — maximal total sum of the volumes of barrels or 0 if it's impossible to construct exactly n barrels satisfying the condition |v__x - v__y| ≤ l for any 1 ≤ x ≤ n and 1 ≤ y ≤ n.

输出一个整数——即所有桶体积的总和的最大值;若无法构造出恰好 nn 个满足条件 ∣vx−vy∣≤l|v_x - v_y| \leq l(对任意 1≤x≤n1 \leq x \leq n 和 1≤y≤n1 \leq y \leq n)的桶,则输出 00。

输入输出样例

  • 输入#1

    4 2 1
    2 2 1 2 3 2 2 3

    输出#1

    7
  • 输入#2

    2 1 0
    10 10

    输出#2

    20
  • 输入#3

    1 2 1
    5 2

    输出#3

    2
  • 输入#4

    3 2 1
    1 2 3 4 5 6

    输出#4

    0

说明/提示

In the first example you can form the following barrels: [1, 2], [2, 2], [2, 3], [2, 3].

In the second example you can form the following barrels: [10], [10].

In the third example you can form the following barrels: [2, 5].

In the fourth example difference between volumes of barrels in any partition is at least 2 so it is impossible to make barrels equal enough.

在第一个例子中,你可以组成以下桶:[1, 2], [2, 2], [2, 3], [2, 3]。

在第二个例子中,你可以组成以下桶:[10], [10]。

在第三个例子中,你可以组成以下桶:[2, 5]。

在第四个例子中,任意划分下各桶体积之间的差值至少为 2,因此无法使桶“足够相等”。

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

首页