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
#include<iostream>
using namespace std;

int main(){
	long long int* t;
	long long int* waitingT;
	int n, m;
	long long int s, minStart, idealStart;	
	
	cin >> n >> m;
	t = new long long int[n];
	waitingT = new long long int[n];
	int d;
	for (int i = 0; i < n; i++) {
		cin >> t[i];
	}
	for (int piek = 0; piek < m; piek++) {
		cin >> d;
		s = 0;
		minStart = 0;
		idealStart = 0;
		for (int i = 0; i < n; i++) {
			idealStart = t[i] - d;
			if (idealStart > minStart)minStart = idealStart;
			minStart += d;
			s += minStart - t[i];
		}
		cout << s << endl;
	}

	delete[] t;
	delete[] waitingT;

        return 0;
}