在未来的某一天,地球上的人类开始对火星进行探索,希望能够发现新的火星资源。
某日,地球上的航天技术最发达的 A,B,C 三国发现火星上有大规模的稀有资源,三个国家都想得到这批资源,于是三个国家一共派出了 N 支航天科考队前往火星。在火星他们统计发现,一共有 M 个独立的区域拥有稀有资源。
为了避免争端,最大限度地利用有限的时间来采集资源,大家达成了一个共同开采协议:
每支队伍每天最多只能开采其中一个区域的资源,如果某支队伍开始开采某个区域的资源,其他队伍不能在该区域开采。按当前的科技水平,如果某个队伍某天开始开采某区域的资源,该队伍当天一定能将资源开采完并使用航天飞机将资源运输回地球。
每天按照每支科考队的技术水平来确定选择区域的顺序,每天都是由技术水平最高的科考队先挑选开采区域。每支科考队都会选择眼前储量最丰富的区域。
请编程计算出,最终这三个国家,每个国家一共会获得多少火星上的稀缺资源。
第一行两个整数 M,N。M 表示区域数量,N 表示科考队的数量。
接下来 N 行,每行两个整数,分别表示每支科考队的技术水平和所属国家。分别用数字 1,2,3 表示 A,B,C 三国。
接下来一行 M 个整数,表示每个区域的资源储量。
测试数据确保,所有科考队的技术水平互不相同 。
输出三个整数,分别表示编号为 1,2,3 的国家最后获得火星资源的总量,数字之间用空格隔开。
5 3 5 1 8 2 9 3 5 1 8 3 3
3 6 11
3 5 3 1 1 2 11 3 14 3 15 3 6 7 8
0 0 21
15 5 14 1 6 2 9 3 8 3 4 2 2 3 1 3 8 9 2 2 4 2 8 2 4 4 5
15 17 27
有 5 个区域,3 支科考队。
第 1 天,技术水平为 9 的科考队开采了存储量为 8 的区域;技术水平为 8 的科考队开采了存储量为 5 的区域;技术水平为 5 的科考队开采了了存储量为 3 的区域。
第 2 天,技术水平为 9 的科考队开采了存储量为 3 的区域;技术水平为 8 的科考队开采了存储量为 1 的区域;所有区域开采完毕。
编号为 1 的国家总开采量=3。
编号为 2 的国家总开采量=5+1=6。
编号为 3 的国家总总开采量=8+3=11。
对于 40\% 的数据,M≤100,N≤100。
对于 60\% 的数据,M≤1000,N≤100。
对于 100\% 的数据,3≤M≤100000,3≤N≤4000,每支科考队的技术水平均在 [1,100000] 的范围内,每个区域的资源储量均在 [1,100000] 的范围内。
测试数据确保在 N 支科考中,三个国家的科考队都会出现。