#include<bits/stdc++.h>
using namespace std;
namespace Acc{
using ll=long long;
const int N=800;
ll f[N][N],x;
int a[N];
void work(){
int n,m,i,j;memset(f,63,sizeof f),f[0][0]=0;
for(cin>>n>>m,i=1;i<=n;++i)cin>>a[i],f[i][0]=0;
for(i=n-1;~i;--i)for(j=1;j<=n-i;++j)
f[i][j]=min(f[i+1][j],max(0ll,f[i+1][j-1]-a[i+1]));
while(m--)cin>>x,cout<<n-(upper_bound(*f,*f+n+1,x)-*f)+1<<'\n';
}
}
int main(){return Acc::work(),0;}