#2354. 希蒙的比赛分数线

希蒙的比赛分数线

希蒙的比赛分数线

Time limit: 1 second

Memory limit: 256 MB

读入文件:match.in

输出文件:match.out

文件名:match.cpp

题目背景:

最近,赛码举办了一场大型的OI模拟赛,参加比赛的同学数不胜数,一共有nn个,对于第ii个同学,其分数为aia_i。赛码想统计有多少获得高分的同学,我们记为numnum,并计算一个高分度HH。其中,我们如此定义一个同学是否获得高分,假设我们的高分线为ss,对于i=1n(ai>=s)\sum_{i=1}^{n}(a_i>=s),即统计分数大于等于高分分数线的同学数量。对于高分度,我们有如下定义H=i=1n(ais)(ai>=s)H=\sum_{i=1}^{n}(a_i-s)\cdot(a_i>=s),换而言之,即对于所有分数大于等于高分分数线的同学,我们对其分数减去分数线求和。赛码想知道设置不同分数线时的情况,于是可能会问你很多次分数线不同时numnumHH的值。

题目描述:

给定一个长度为n的序列a,一共有q次询问,对于第i次询问,会有一个整数sis_i,你需要回答,当s=sis=s_i时,num和H的值分别为多少。

输入格式:

请注意输入文件名。

第一行两个整数,nnqq,分别表示序列的长度和询问的次数。

第二行有nn个整数aia_i,其中aia_i表示第i位同学的考试分数。

接下来一共有qq行,其中第i行有一个整数sis_i,表示当前的高分分数线。

输出格式:

请注意输出文件名。

你一共需要输出qq行,每行两个整数,对于第ii个询问,你需要输出当高分分数线为sis_inumnumHH的值。

样例:

样例输入#1:

5 3
1 4 2 3 8
1
2
5

样例输出#1:

5 13
4 9
1 3

请注意,此题我们没有提供额外的样例。

数据范围:

对于100%的数据,n,q<=103n,q<=10^31<=ai,s<=1051<=a_i,s<=10^5。