#include <iostream>
#include <vector>
int main() {
std::vector<long long> sciezka;
int n = 0;
int k = 0;
long long zwir = 0;
std::cin >> n >> k;
for (int i = 0; i < n; i++) {
long long temp;
std::cin >> temp;
sciezka.push_back( temp );
}
if (n == 1) {
std::cout << 0;
}
for (int i = 1; i < n; i++) {
if (sciezka[i] + k < sciezka[i - 1]) {
long long dosypanie = sciezka[i - 1] - sciezka[i] - k;
sciezka[i] += dosypanie;
zwir += dosypanie;
}
}
for (int i = n - 2; i >= 0; i--) {
if (sciezka[i] + k < sciezka[i + 1]) {
long long dosypanie = sciezka[i + 1] - sciezka[i] - k;
sciezka[i] += dosypanie;
zwir += dosypanie;
}
}
std::cout << zwir;
return 0;
}
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> #include <vector> int main() { std::vector<long long> sciezka; int n = 0; int k = 0; long long zwir = 0; std::cin >> n >> k; for (int i = 0; i < n; i++) { long long temp; std::cin >> temp; sciezka.push_back( temp ); } if (n == 1) { std::cout << 0; } for (int i = 1; i < n; i++) { if (sciezka[i] + k < sciezka[i - 1]) { long long dosypanie = sciezka[i - 1] - sciezka[i] - k; sciezka[i] += dosypanie; zwir += dosypanie; } } for (int i = n - 2; i >= 0; i--) { if (sciezka[i] + k < sciezka[i + 1]) { long long dosypanie = sciezka[i + 1] - sciezka[i] - k; sciezka[i] += dosypanie; zwir += dosypanie; } } std::cout << zwir; return 0; } |
English