题目背景

题目描述
来自全国各地的 n 位 OIer 组成了一个名为“实力派”的团队,每个人有一个实力值 ai。共有 m 场比赛向他们发送了参赛邀请,其中第 i 场比赛要求 ki 个人组成一个队伍参加。为了决定他们是否应该参加某场比赛,他们想出了如下两个衡量实力的数据:
请你对于每场比赛,告诉他们他们在这场比赛中的 ki 阶最低实力和最高实力。对了,为了不让别人听懂,你需要将答案对一个秘密模数 p 取模。
输入格式
第一行三个整数 n,m,p,分别表示团队人数,比赛场数及秘密模数;
第二行 n 个整数,第 i 个整数表示第 i 个人的实力值 ai。
接下来 m 行,第 i 行一个整数 ki,表示第 i 场比赛的要求参赛人数。
输出格式
输出共 m 行,第 i 行两个整数 mini,maxi,分别表示他们在第 i 场比赛中的最低实力和最高实力,答案对 p 取模。
提示
样例 1 解释
第一场比赛要求选出 2 人参加,仅有 (8,15) 一种方案的 gcd=1,因此最低实力为 1;所有方案的 gcd 之和为 19,因此最高实力为 19;
第二场比赛要求选出 3 人参加,有 (8,15,12) 和 (8,15,6) 两种 gcd=1 的方案,因此最低实力为 2;所有方案的 gcd 之和为 7,因此最高实力为 7。
数据范围
对于所有数据,1≤n,m,ki≤2×105,1≤ai≤106,107≤p≤109,p∈P。
本题共 30 个测试点,采用捆绑测试,子任务及数据点分配如下:
子任务编号 |
数据点编号 |
特殊性质 |
分值 |
时限 |
0 |
1∼4 |
n≤20 |
10 |
1s |
1 |
5∼8 |
n,ai≤300 |
2 |
9∼12 |
ki≤2 |
20 |
1.5s |
3 |
13∼16 |
ai≤3 |
10 |
1s |
4 |
17∼22 |
ai≤105 |
20 |
5 |
23∼30 |
无特殊性质 |
30 |
1.5s |
提示
P 表示全体质数集合,gcd 表示最大公因数。