#include<bits/stdc++.h>
using namespace std;
int n, m;
long long u;
long long a[1000], d[1000];
long long minn = -1e17;
int main(){
int i, j;
scanf("%d %d", &n, &m);
memset(d, minn, sizeof(d));
for (i = 1; i <= n; i++)
scanf("%lld", &a[i]);
for (i = n; i >= 0; i--)
for (j = n; j >= 0; j--) {
u = (j == 0) ? minn : d[j - 1];
d[j] = max(min(d[j] + a[i], (long long)0), u);
}
while (m--) {
scanf("%lld", &u);
printf("%d\n", lower_bound(d, d + n + 1, -u) - d);
}
return 0;
}