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
#include <iostream>
#include <vector>
#include <algorithm>

using std::cin;
using std::cout;
using std::vector;
using std::max;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);
    vector<long long> clientTimes;
    
    long long n, m;
    cin >> n >> m;

    clientTimes.resize(n);
    for (long long i = 0; i < n; ++i) {
        cin >> clientTimes[i];
    }
    for (long long i = 0; i < m; ++i) {
      long long ovenTime, waitTime = 0, nextSlotTime = 0;
      cin >> ovenTime;
      for (long long j = 0; j < n; ++j) {
        nextSlotTime = max(clientTimes[j], nextSlotTime + ovenTime);
        waitTime += nextSlotTime - clientTimes[j];
      }
      cout << waitTime << '\n';
    }
}