Pagini recente » Cod sursa (job #2552721) | Cod sursa (job #69922) | Cod sursa (job #1989113) | Cod sursa (job #1186911) | Cod sursa (job #255162)
Cod sursa(job #255162)
#include <cstdio>
#include <algorithm>
#define maxn 200010
using namespace std;
int n, m, i, j, l, ct, mq, nr;
int v[maxn], q[maxn];
long long t[1000001], tot, sum, s, dmax;
int main() {
freopen("caramizi.in", "r", stdin);
freopen("caramizi.out", "w", stdout);
scanf("%d%d", &n, &m);
for (i = 1; i <= n; i++)
scanf("%d", &v[i]);
sort(v + 1, v + n + 1);
for (i = 1; i <= m; i++)
scanf("%d", &q[i]);
mq = 1000000;
i = 1; sum = 0;
for (l = 1; l <= mq; l++) {
while (v[i] < l && i <= n) {
sum += v[i];
i++;
}
ct = n - i + 1;
tot = (1LL * l * ct) + sum;
t[l] = tot / l;
t[l] *= l;
if (t[l - 1] > t[l])
t[l] = t[l - 1];
}
for (i = 1; i <= m; i++)
printf("%lld\n", t[q[i]]);
return 0;
}