小光在游戏中操纵魔宠执行收服小精灵的任务,他需要使用很多个魔法卷轴才能收服小精灵,而在收服过程中,小精灵也会对魔宠造成一定的伤害(从而减少魔宠的体力)。当魔宠的体力小于等于0时,小光就必须结束任务,而使得魔宠体力小于等于0的小精灵也不会被收服。当小光的魔法卷轴用完时,任务也宣告结束。
我们假设小光遇到小精灵时有两个选择:收服它,或者离开它。如果小光选择了收服,那么一定会扔出能够收服该小精灵的魔法卷轴,而魔宠也一定会受到相应的伤害;如果选择离开它,那么小光不会损失魔法卷轴,魔宠也不会损失体力。
小光的目标有两个:主要目标是收服尽可能多的小精灵;如果可以收服的小精灵数量一样,小光希望魔宠受到的伤害越小(剩余体力越大),因为他们还要继续完成后面的任务。
现在已知小光的魔法卷轴数量和魔宠的初始体力,已知每一个小精灵需要的用于收服的魔法卷轴数和它在被收服过程中会对魔宠造成的伤害数。请问,小光该如何选择收服哪些小精灵以达到他的目标呢?
输入数据的第一行包含三个整数:N(0<N<1 000),M(0<M<500),K(0<K<100),分别代表小光的魔法卷轴数量、魔宠初始的体力值、小精灵的数量。
之后的K行,每一行代表一个小精灵,包括两个整数:收服该小精灵需要的魔法卷轴的数量,以及收服过程中对魔宠造成的伤害。
输出为一行,包含两个整数:C,R,分别表示最多收服C个小精灵,以及收服C个小精灵时魔宠的剩余体力值最多为R。
10 100 5 7 10 2 40 2 50 1 20 4 20
3 30
10 100 5 8 110 12 10 20 10 5 200 1 110
0 100
对于样例输入1:小光选择:(7,10)、(2,40)、(1,20),这样小光一共收服了3个小精灵,魔宠受到了70点伤害,剩余100-70=30点体力。所以输出3 30
;
对于样例输入2:小光一个小精灵都没法收服,魔宠也不会收到任何伤害,所以输出0 100
。