雇佣兵

测试数据来自 system/2958

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

时间限制:0.3秒  内存限制:256M


【题目描述】

  有 \(m\) 个的魔鬼,你希望雇一些雇佣兵与它们战斗。一个能力值为x的雇佣兵可以消灭一个魔力值不超过 \(x\) 的魔鬼,且需要支付 \(y\) 枚金币。现有 \(n\) 个雇佣兵可以雇佣,那么如何雇佣这些雇佣兵才能消灭尽量多的魔鬼,且在此前提下需要支付金币的最少数量?
  注意,一个雇佣兵只能消灭一个魔鬼(且不能被雇佣两次)。

【输入格式】

  第一行为正整数 \(m\) 和 \(n\);
  以下的 \(m\) 行每行为一个 \(1..10^9\) 范围的整数,即 \(m\) 个魔鬼的魔力值。
  再以下的 \(n\) 行每行为两个 \(1..10^9\) 范围的整数,整数间用一个空格隔开,即每个雇佣兵的能力值和雇佣该雇佣兵需要支付的金币数。

【输出格式】

  输出两个整数,分别表示能消灭魔鬼的最大数量和需要支付的最少金币数,两个整数之间用一个空格隔开。

【输入输出样例1】

 Input

2 3
5
4
7 5
8 3
4 4

 Output

2 7

【样例1解释】

  最多可以消灭2个魔鬼,一种支付最少金币的方案如下:
  雇佣能力为8、佣金为3的雇佣兵去消灭魔力值为5的个魔鬼;
  雇佣能力为4、佣金为4的雇佣兵去消灭魔力为4的魔鬼。
  需要支付的金币数为:4+3=7。

【输入输出样例2】

 Input

5 8
2
7
9
10
5
6 5
1 2
8 1
11 4
2 5
4 3
7 3
5 7

 Output

4 11

【样例2解释】

  最多可以消灭4个魔鬼,一种佣金最少的方案如下:
  雇佣能力值和佣金分别为4和3的雇佣兵去消灭魔力值为2的魔鬼;
  雇佣能力值和佣金分别为8和1的雇佣兵去消灭魔力值为7的魔鬼;
  雇佣能力值和佣金分别为11和4的雇佣兵去消灭魔力值为9的魔鬼;
  雇佣能力值和佣金分别为7和3的雇佣兵去消灭魔力值为5的魔鬼;
  魔力值为10的魔鬼无法消灭!
  需要支付的金币数为:3+1+4+3=11。

【子任务】

  对于所有测试点,都满足:\(1≤m,n≤2∙10^5\),魔力、雇佣兵的能力和雇佣金币数都是\(1 \sim 10^9\)范围的整数。
  测试点 \(1−2:1≤m,n≤10\)。
  测试点 \(3−10:1≤m,n≤10^4\)。
  测试点 \(11−20:1≤m,n≤2∙10^5\)。

【来源】

  Mr.he

定时练习(七)订正

未参加
状态
已结束
规则
OI
题目
10
开始于
2024-10-20 12:00
结束于
2024-12-01 04:00
持续时间
1000.0 小时
主持人
参赛人数
27