分裂 (split)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Description
我们假设有一类粒子α,每个都由若干彼此相同的基础粒子β组成。若两个α粒子相同,当且仅当它们含有相同的β粒子数。所以我们可以用一个正整数x来刻画一个含有x个 β粒子的α粒子。
若α粒子足够大,即 x大于一个正整数n时,它必定会分裂!一个α 粒子x 可分裂成两个α粒子y和z,且只需满足:
x=y+z,1≤y,z<x
若α粒子不够大,即x不大于正整数n时,它会转化成ax单位的能量。
现在你已经知道了各种能量转化的数值,即n个正整数an。给出q个α 粒子(即q个正整数x),请问它们各自至少能产生多少单位的能量?
Input
第一行两个正整数n,q(1≤n≤100,1≤q≤100000)
第二行n个正整数a1,a2,a3,…an(1≤ai≤10^9)
接下来q行,每行一个正整数x(1≤x≤10^9),询问一个 α粒子x能产生的最小能量
Output
q行,对每个询问x,输出对应能产生的最小能量
Samples
(为方便显示,此处将询问部分和输出部分显示为一行)
4 5
2 3 5 7
2 3 5 6 8
3 5 8 10 13
1 3
10
1 2 100
10 20 1000
输入 #3 见数据包 输出 #3 见数据包
样例解释
样例 #1 首先n=4,对以下5 组询问,各自的一个可能方案为:
x=2,ans=a2=3
x=3,ans=a3=5
x=5,ans=a2+a3=8
x=6,ans=a1+a2+a3=10
x=8,ans=a1+a2+a2+a3=13
Limitation
测试点编号n≤x
1,2 10 20
3,4 100 20000
5~10 100 10^9
对于所有测试点,都有
1≤n≤100,1≤q≤100000
1≤ai,x≤10^9