1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <bits/stdc++.h>
using namespace std;
#define ff first
#define dd second
#define mp make_pair
#define lld long long
#define sz size()
#define pb push_back
#define For(i,s,a) for(lld i=(lld)s;i<(lld)a;++i)
#define gecx() getchar()
template<typename T>
void scan(T &i)
{
	 T tt;
	 char cc;
	 tt=0;
	 cc='a';
	 bool neg=0;
	 while(cc>'9' || cc<'0')
	 {
		   if(cc=='-')
		   neg=1;
		   cc=gecx();
	 }
	 while(cc>='0' && cc<='9')
	 {
		   tt=(tt<<3ll)+(tt<<1ll)+cc-'0';
		   cc=gecx();
	 }
	 *i=tt;
}

lld c[1000001];
lld d[1000001];
int main()
{
	int a,b;
	scanf("%d%d", &a,&b);
	For(i,0,a)
	scanf("%lld", &c[i]);
	For(i,0,b)
	scanf("%lld", &d[i]);
	lld wyn,tmp,halp;
	wyn=tmp=halp=0;
	For(hwnd,0,b)
	{
		wyn=tmp=halp=0;
		For(i,0,a)
		halp=max(halp,c[i]-d[hwnd])+d[hwnd],
		tmp+=max(0ll,halp-c[i]);
		printf("%lld\n",tmp);
	}
}