#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<int> n1;
vector<int> left1;
vector<int> right1;
vector<int> pleft;
vector<int> pright;
vector<int> no;
signed main(){
int n,q;
cin>>n>>q;
n1.resize(n);
left1.assign(n,q-1);
right1.assign(n,q-1);
pleft.resize(q);
pright.resize(q);
no.assign(n,0);
priority_queue<pair<int,pair<int,int> >, vector<pair<int,pair<int,int> > >, greater<pair<int,pair<int,int> > > > pq;
for (int i = 0;i<n;i++){
cin>>n1[i];
}
for (int i = 1;i<n;i++){
pq.push(make_pair(n1[i]-n1[i-1],make_pair(i-1,i)));
}
int ll = 0;
int rr = 0;
int c = 0;
for (int i = 0;i<q;i++){
int x;
cin>>x;
c+=x;
if (c>0) rr = max(rr,c);
else ll = min(ll,c);
pleft[i] = ll;
pright[i] = rr;
while (!pq.empty() and rr-ll>=pq.top().first){
int a = pq.top().first;
int b = pq.top().second.first;
int c = pq.top().second.second;
pq.pop();
left1[c] = i;
right1[b] = i;
if (x>0){
no[b] += (rr-ll) - a;
}
else{
no[c] += (rr-ll) -a;
}
}
}
for (int i = 0;i<n;i++){
cout<<-pleft[left1[i]]+pright[right1[i]]-no[i]<<"\n";
}
return 0;
}