CF1133E.K Balanced Teams

普及+/提高

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are a coach at your local university. There are nn students under your supervision, the programming skill of the ii-th student is aia_i.

You have to form kk teams for yet another new programming competition. As you know, the more students are involved in competition the more probable the victory of your university is! So you have to form no more than kk (and at least one) non-empty teams so that the total number of students in them is maximized. But you also know that each team should be balanced. It means that the programming skill of each pair of students in each team should differ by no more than 55. Teams are independent from one another (it means that the difference between programming skills of two students from two different teams does not matter).

It is possible that some students not be included in any team at all.

Your task is to report the maximum possible total number of students in no more than kk (and at least one) non-empty balanced teams.

If you are Python programmer, consider using PyPy instead of Python when you submit your code.

你是一所本地大学的编程教练。在你的指导下有 nn 名学生,其中第 ii 名学生的编程能力为 aia_i。

你必须为另一场全新的编程竞赛组建 kk 支队伍。众所周知,参赛学生人数越多,你所在大学获胜的概率就越高!因此,你需要组建至多 kk 支(且至少一支)非空队伍,使得这些队伍中学生总人数尽可能多。但你还知道,每支队伍都必须是“平衡的”:即每支队伍中任意两名学生的编程能力之差至多为 55。不同队伍之间相互独立(即来自不同队伍的两名学生的能力差无需满足该限制)。

部分学生可以不被分配到任何队伍中。

你的任务是报告:在至多 kk 支(且至少一支)非空平衡队伍的前提下,所能达到的学生总人数的最大值。

如果你使用 Python 编程,在提交代码时请考虑使用 PyPy 而非 Python。

输入格式

The first line of the input contains two integers nn and kk (1≤k≤n≤50001 \le k \le n \le 5000) — the number of students and the maximum number of teams, correspondingly.

The second line of the input contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤1091 \le a_i \le 10^9), where aia_i is a programming skill of the ii-th student.

输入的第一行包含两个整数 nn 和 kk(1≤k≤n≤50001 \le k \le n \le 5000),分别表示学生的数量和最多可组成的队伍数量。

输入的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1091 \le a_i \le 10^9),其中 aia_i 表示第 ii 个学生的编程能力。

输出格式

Print one integer — the maximum possible total number of students in no more than kk (and at least one) non-empty balanced teams.

输出一个整数——在不超过 kk(且至少为 1)个非空平衡队伍的前提下,学生总数的最大可能值。

输入输出样例

  • 输入#1

    5 2
    1 2 15 15 15

    输出#1

    5
  • 输入#2

    6 1
    36 4 1 25 9 16

    输出#2

    2
  • 输入#3

    4 4
    1 10 100 1000

    输出#3

    4

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

首页