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

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

    std::size_t n, m;
    std::cin >> n >> m;

    std::vector<unsigned long long> t;
    t.reserve(n);
    for (std::size_t i = 0; i < n; ++i) {
        unsigned long long t_i;
        std::cin >> t_i;
        t.push_back(t_i);
    }

    for (std::size_t i = 0; i < m; ++i) {
        unsigned long long d_i;
        std::cin >> d_i;

        auto cooking_started = 0ULL;
        auto waiting_time = 0ULL;

        for (std::size_t j = 0; j < n; ++j) {
            auto extra_wait = (unsigned long long)std::max(
                (long long)d_i +
                    (long long)cooking_started -
                    (long long)t[j],
                0LL);
            
            cooking_started = t[j] + extra_wait;
            waiting_time += extra_wait;
        }

        std::cout << waiting_time << "\n";
    }
}