‹ 上一题 下一题 ›

s09183. 合并检修单 未做

1000 ms 256 MB 测试点 10 通过率 33% S-06·贪心进阶与反悔贪心优先队列贪心

题目描述

设备科里有 台老旧机器,第 台机器共有 个检修工位,第 个工位的检修时长为 。同一台机器的工位已按时长从短到长排好,即 。

现在要把 台机器合成一张合并检修单:每台机器各派出一个工位,一张单的总耗时就是这 个工位的时长之和。全部可能的合并检修单共有 张。

把所有合并检修单按总耗时从小到大排序,取最便宜的前 张,输出这 张单的总耗时之和。

输入格式

第一行两个整数 。

接下来 行,第 行第一个整数 ,随后 个整数 。

输出格式

一行一个整数:最便宜的 张合并检修单的总耗时之和。

样例 1

样例

输入
2 4
3 1 3 4
2 2 5
输出
20

两台机器共 张单,总耗时排序为 ,最便宜的四张是 ,和为 。

样例 2

三台机器共 张单,恰好取全部四张:,和为 。

数据范围

  • ;
  • 且 ;
  • ;
  • ,且每条序列非降:;
  • 保证 ,即合并检修单的总张数不少于 。

单张合并检修单的总耗时不超过 ,答案不超过 :请使用 64 位整数(如 C++ 的 long long)计算与输出,本题不需要取模。

输入
输出

            
答案