Pagini recente » Cod sursa (job #630687) | Cod sursa (job #1017901) | Cod sursa (job #1107297) | Cod sursa (job #1396796) | Cod sursa (job #265995)
Cod sursa(job #265995)
#include <stdio.h>
#include <algorithm>
#define maxn 1000010
using namespace std;
long long n, i, j, k, m, t, ma, x;
long long d[maxn], sol[maxn], q[maxn];
int main()
{
freopen("caramizi.in", "r", stdin);
freopen("caramizi.out", "w", stdout);
scanf("%lld%lld", &n, &m);
for(i=1; i<=n; i++)
{
scanf("%lld", &d[i]);
}
sort(d+1, d+n+1);
for(i=1; i<=m; i++)
{
scanf("%lld", &q[i]);
}
t=-1;
d[0]=1;
d[n+1]=maxn;
for(i=0; i<=n; i++)
{
t+=d[i];
for(j=d[i]; j<d[i+1]; j++)
{
sol[j]=ma;
x = t-t%j+(n-i)*j;
if(x>ma)
{
sol[j]=x;
ma=x;
}
}
}
for(i=1; i<=m; i++)
{
printf("%lld\n", sol[q[i]]);
}
return 0;
}