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

#define max(a, b) (a)<(b) ? (b):(a)

#define MAXNM 200010
int n = 4, m = 3;
long long times[MAXNM] = {3, 10, 11, 23};
int piekarniki[MAXNM] = {4, 2, 5};
long long deltas[MAXNM];
long long result;

int main() {
    ios_base::sync_with_stdio(false);

    cin >> n >> m;
    for (int i = 0; i < n; ++i) {
        cin >> times[i];
    }
    for (int j = 0; j < m; ++j) {
        cin >> piekarniki[j];
    }
    deltas[0] = times[0];
    for (int k = 1; k < n; ++k) {
        deltas[k] = times[k] - times[k-1];
    }
    deltas[n] = deltas[n-1];
    for (int l = 0; l < m; ++l) {
        long long t = piekarniki[l];
        long long partial = 0;
        for (int i = 0; i < n; ++i) {
            partial = max(t - (deltas[i] - partial), 0LL);
            result += partial;
        }
        cout << result << endl;
        result = 0;
    }

    return 0;
}