普及⏱ 1000ms💾 256MB#P5121🏷️ 动态规划

题目描述

巡检基地有一架无人机和一块容量有限的电池。片区内有 $K$ 个待巡检点位:巡检第 $i$ 个点位要消耗 $a_i$ 单位电量,同时机身磨损 $b_i$ 点耐久。电量消耗后不恢复;而当耐久降到 0 或以下时无人机必须立即返厂——换句话说,任何让耐久降为非正的选择都不允许发生。

无人机在每个点位前都有两个选择:巡检(消耗对应电量与耐久),或跳过(无消耗)。目标有两条:

  1. 主要目标:巡检尽可能多的点位;
  2. 次要目标:在巡检点位数相同的前提下,让剩余耐久尽可能大。

给定初始电量 $N$、初始耐久 $M$ 与每个点位的消耗,请输出巡检的最多点位数 $C$,以及巡检 $C$ 个点位时剩余耐久的最大值 $R$。

输入格式

第一行三个整数 $N, M, K$,用空格分隔($0 < N < 1000$,$0 < M < 500$,$0 < K < 100$)。 随后 $K$ 行,每行两个整数 $a_i, b_i$:巡检第 $i$ 个点位消耗的电量与耐久。

输出格式

一行,两个整数 $C, R$,用空格分隔。

数据范围

$$0 < N < 1000,\quad 0 < M < 500,\quad 0 < K < 100$$

样例输入 #1
10 100 5
7 10
2 40
2 50
1 20
4 20
样例输出 #1
3 30
样例输入 #2
1 1 1
1 1
样例输出 #2
0 1