P0535

[中山市选2009]小球

[中山市选2009]小球

给定 nn 个不同颜色的球,每个球都有一个分数,同时有 mm 个瓶子,每个瓶子都有固定的容量。现在,你必须把球放到瓶子里面。请编程计算最多能放多少个球到这些瓶子里。

输入格式

输入包含多组数据。

每组数据的第一行为两个整数 n,mn, m,分别表示球的个数和瓶子的个数。

接下来的 nn 行,每一行包含一个整数 pp,表示相应的球的分数。

接下来的 mm 行,每一行包含两个整数 cc 和 qq,分别表示这个瓶子的容量(最多能装多少个球)和分数上界(放进该瓶子的每个球的分数都不能超过 qq)。

当输入的 nn、mm 均为 00 时,表示输入结束。

输出格式

对于每组数据,输出两个整数 BB 和 SS,分别表示总共能放进瓶子里的球的最大数目,以及在这个前提下,放进瓶子里面的所有球的最大分数总和。BB 和 SS 以空格隔开,每组答案独占一行。

样例输入

2 1
2
3
1 2
2 2
4
5
2 4
2 5
0 0

样例输出

1 2
2 9

样例解释

第一组有两个球,分数分别为 22 和 33;唯一的瓶子容量为 11、分数上界为 22,只能装下分数为 22 的球,所以答案是 1 2。

第二组两个球的分数为 44 和 55,两个瓶子的容量与分数上界分别为 (2,4)(2,4) 和 (2,5)(2,5):把分数 44 的球放进第一个瓶子、分数 55 的球放进第二个瓶子,两个球都能放下,总分为 4+5=94+5=9,所以答案是 2 9。

数据范围

对于全部的数据:

  • 1≤n≤2001\le n\le 200;
  • 0≤m≤2000\le m\le 200;
  • 1≤p≤1061\le p\le 10^6;
  • 0≤c≤2000\le c\le 200;
  • 1≤q≤1061\le q\le 10^6。

来源与许可

本题为中山市选 2009 试题「小球」,题面与测试数据整理自 BZOJ 2465。

样例 1

输入

2 1
2
3
1 2
2 2
4
5
2 4
2 5
0 0

输出

1 2
2 9