#include <cstdio>
#include <vector>
#include <algorithm>
typedef long long int zap_time_t;
zap_time_t min_waiting_time(std::vector<zap_time_t> &client_times, zap_time_t oven_baking_time) {
int n = client_times.size();
std::vector<zap_time_t> waiting_times(n);
waiting_times[0] = std::max(static_cast<zap_time_t>(0), oven_baking_time - client_times[0]);
for (int i = 1; i < n; ++i) {
zap_time_t delta = client_times[i] - client_times[i - 1];
if (delta < oven_baking_time) {
waiting_times[i] = oven_baking_time - delta;
} else {
waiting_times[i] = 0;
}
}
zap_time_t sum = 0;
for (int i = 0; i < n; ++i) {
sum += waiting_times[i];
}
return sum;
}
int main() {
int n, m;
zap_time_t t, min_time;
std::vector<zap_time_t> client_times;
scanf("%d", &n);
scanf("%d", &m);
client_times.resize(n);
for (int i = 0; i < n; ++i) {
scanf("%lld", &t);
client_times[i] = t;
}
for (int i = 0; i < m; ++i) {
scanf("%lld", &t);
min_time = min_waiting_time(client_times, t);
printf("%lld\n", min_time);
}
}
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 41 42 43 44 45 46 47 48 49 50 51 52 | #include <cstdio> #include <vector> #include <algorithm> typedef long long int zap_time_t; zap_time_t min_waiting_time(std::vector<zap_time_t> &client_times, zap_time_t oven_baking_time) { int n = client_times.size(); std::vector<zap_time_t> waiting_times(n); waiting_times[0] = std::max(static_cast<zap_time_t>(0), oven_baking_time - client_times[0]); for (int i = 1; i < n; ++i) { zap_time_t delta = client_times[i] - client_times[i - 1]; if (delta < oven_baking_time) { waiting_times[i] = oven_baking_time - delta; } else { waiting_times[i] = 0; } } zap_time_t sum = 0; for (int i = 0; i < n; ++i) { sum += waiting_times[i]; } return sum; } int main() { int n, m; zap_time_t t, min_time; std::vector<zap_time_t> client_times; scanf("%d", &n); scanf("%d", &m); client_times.resize(n); for (int i = 0; i < n; ++i) { scanf("%lld", &t); client_times[i] = t; } for (int i = 0; i < m; ++i) { scanf("%lld", &t); min_time = min_waiting_time(client_times, t); printf("%lld\n", min_time); } } |
English