2979 - 【入门】周周套圈圈

通过次数

1

提交次数

1

时间限制 : 1 秒
内存限制 : 128 MB

周周嘉年华玩儿套圈圈,是这么玩儿的。有一些瓶口口径不同的啤酒瓶,瓶子里面有一些奖品。如果周周用手上的圈圈套中了啤酒瓶,那么奖品就归他了。

假设周周无限精准,指哪儿打哪儿,并且周周了解到,只有圈圈的半径 严格大于 啤酒瓶半径,才能套中。

并且周周知道自己手上的每个圈圈的半径,也知道每个啤酒瓶的半径和里面物品相对应的价值。

当然,奖品是无限多的,意思就是如果周周套中了一个啤酒瓶并且获得了奖品,下次可以继续套获得同样的奖品。

现在周周想问你,他最大能获得多少价值。

输入

第一行两个整数 NM 代表圈圈的个数和啤酒瓶的个数。

第二行 N 个整数代表圈圈的半径 r_c

接下来 M 行每行两个整数 r_bv 代表啤酒瓶的半径 r 和相应的价值 v

输出

输出一个整数,代表周周能获得的最大价值。

数据范围 对于 30\% 的数据:N = 1 , M = 1 , 1 \le r_c , r_b , v \le 100

对于 60\% 的数据:1 \le N \times M \le 1000000, 1 \le r_c , r_b , v \le 100 , 保证所有的价值 v 都相等。

对于 100\% 的数据:1 \le N \times M \le 1000000, 1 \le r_c , r_b , v \le 100

样例

输入

2 2
2 3
1 2
2 3

输出

5

提示

30% 只有一个瓶子和一个圈圈,直接比较即可,输出 0 可以得到一半分数。

60% 因为 v 都相等,所以对于每个圈圈只套最小的那个瓶口即可。找到最小的瓶口半径,比较有多少个圈圈的半径大于最小的瓶口半径,然后乘上 v 即可。

100% 枚举每个圈圈,再枚举每个瓶口,如果圈圈的半径大于瓶口,那么对于每个圈圈维护最大的 v 值。将 v 值求和即可。