2979 - 【入门】周周套圈圈
Time Limit : 1 秒
Memory Limit : 128 MB
周周嘉年华玩儿套圈圈,是这么玩儿的。有一些瓶口口径不同的啤酒瓶,瓶子里面有一些奖品。如果周周用手上的圈圈套中了啤酒瓶,那么奖品就归他了。
假设周周无限精准,指哪儿打哪儿,并且周周了解到,只有圈圈的半径 严格大于 啤酒瓶半径,才能套中。
并且周周知道自己手上的每个圈圈的半径,也知道每个啤酒瓶的半径和里面物品相对应的价值。
当然,奖品是无限多的,意思就是如果周周套中了一个啤酒瓶并且获得了奖品,下次可以继续套获得同样的奖品。
现在周周想问你,他最大能获得多少价值。
Input
第一行两个整数 N,M 代表圈圈的个数和啤酒瓶的个数。
第二行 N 个整数代表圈圈的半径 r_c。
接下来 M 行每行两个整数 r_b,v 代表啤酒瓶的半径 r 和相应的价值 v。
Output
输出一个整数,代表周周能获得的最大价值。
数据范围 对于 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。
Examples
Input
2 2 2 3 1 2 2 3
Output
5
Hint
30% 只有一个瓶子和一个圈圈,直接比较即可,输出 0 可以得到一半分数。
60% 因为 v 都相等,所以对于每个圈圈只套最小的那个瓶口即可。找到最小的瓶口半径,比较有多少个圈圈的半径大于最小的瓶口半径,然后乘上 v 即可。
100% 枚举每个圈圈,再枚举每个瓶口,如果圈圈的半径大于瓶口,那么对于每个圈圈维护最大的 v 值。将 v 值求和即可。