AT_arc043_d.[ARC043D] 引っ越し

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

题目大意

高桥乡有 NN 间空置房。空房的整数编号从 11 到 NN,从东到西按 11 千米的间隔依次排成一条直线。因此,第 ii 幢空房位于参考点正东方向的 ii 公里处。

MM 个家庭搬到了这个国家。第 ii 个家庭有 PiP_i 名成员。这 MM 个家庭分别分配到 11 套空房。目前,同一房屋不应分配给多个家庭。

您的目标是以最大化"居民距离"的方式分配空房。"居民距离"是所有 22 对已搬进房屋的人的距离总和。

求最优排序的 "居民距离 "的最大值。

输入格式

通过标准输入流输入,格式如下

NN MM

P1P_1

P2P_2

:

PMP_M

  • 11 行中的整数 N(2≤N≤106)N(2 \leq N \leq 10^6) 代表高桥乡空置房屋数量,M(2≤M≤min⁡(N,1000))M(2 \leq M \leq \min(N, 1000)) 代表迁入高桥乡的家庭数量,以空格分隔。
  • 在第 22 至 ii 中,给出了第 ii 个家庭的人数 Pi(1≦Pi≦100)P_i(1 ≦ P_i ≦ 100)。

部分分

本题设置了部分分数。

  • 正确回答满足 2≤N≤102 \leq N \leq 10 的数据可得 1010 分。
  • 正确回答满足 2≤N≤1062 \leq N \leq 10^6 的数据将获得额外的 9090 分。总分为 100100。

输出格式

将 "居民距离 "的最大值输出到 11 行。在输出结束时换行。

样例 1 解释

第 11 个家庭由 A 先生组成。第 22 个家庭由 B 先生组成。第 33 个家庭由 C 先生和 D 先生组成。 如果我们把第 11 个家庭分配到第 11 栋空房,把第 22 个家庭分配到第 22 栋空房,把第 33 个家庭分配到 44 栋空房,那么每对人之间的距离如下。

  • A 先生与 B 先生之间的距离: 11。
  • A 先生与 C 先生之间的距离: 33。
  • A 先生和 D 先生之间的距离: 33。
  • B 先生与 C 先生之间的距离: 22。
  • B 先生与 D 先生之间的距离: 22。
  • C 先生与 D 先生之间的距离: 00。

因此,总计为 1111。这就是 "居民距离 "的最大值。

输入输出样例

  • 输入#1

    4 3
    1
    1
    2

    输出#1

    11
  • 输入#2

    10 10
    3
    1
    4
    1
    5
    9
    2
    6
    5
    3

    输出#2

    2998
  • 输入#3

    20 10
    2
    7
    1
    8
    2
    8
    1
    8
    2
    8

    输出#3

    9852

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

首页