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
#include <iostream>
using namespace std;
int a[200001][2];
int max(int a,int b){
	if(a<b) return b;
	else return a;
}
int main()
{
	int n,m,i,k,wyn,j,mx;
	cin>>n>>m;
	a[0][0]=0;
	a[0][1]=0;
	for(i=1;i<=n;i++){
		cin>>a[i][0];
	}
	for(i=0;i<m;i++){
		cin>>k;
		wyn=0;
		for(j=1;j<=n;j++){
			mx=max(a[j][0]-k,a[j-1][1]);
			if(mx>a[j][0]-k) wyn+=a[j-1][1]-a[j][0]+k;
			a[j][1]=mx+k;
		}
		cout<<wyn<<endl;
	}
	return 0;
}