// Tadeusz Bindas
#include <iostream>
int main() {
int n, k, sum = 0, tmp;
std::cin >> n >> k;
int* a = new int[n];
for (int i = 0; i < n; i++)
{
std::cin >> tmp;
a[i] = tmp;
}
for (int i = 0; i < n; i++)
{
if (i > 0 && a[i-1] > a[i])
{
if (a[i] - a[i - 1] > k)
{
tmp = a[i] - a[i - 1] - k;
a[i] += tmp;
sum += tmp;
}
else if (a[i - 1] - a[i] > k)
{
tmp = a[i - 1] - a[i] - k;
a[i] += tmp;
sum += tmp;
}
}
if (i < n - 1 && a[i + 1] > a[i])
{
if (a[i] - a[i + 1] > k)
{
tmp = a[i] - a[i + 1] - k;
a[i] += tmp;
sum += tmp;
i = -1;
}
else if (a[i + 1] - a[i] > k)
{
tmp = a[i + 1] - a[i] - k;
a[i] += tmp;
sum += tmp;
i = -1;
}
}
}
std::cout << sum << std::endl;
delete[] a;
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | // Tadeusz Bindas #include <iostream> int main() { int n, k, sum = 0, tmp; std::cin >> n >> k; int* a = new int[n]; for (int i = 0; i < n; i++) { std::cin >> tmp; a[i] = tmp; } for (int i = 0; i < n; i++) { if (i > 0 && a[i-1] > a[i]) { if (a[i] - a[i - 1] > k) { tmp = a[i] - a[i - 1] - k; a[i] += tmp; sum += tmp; } else if (a[i - 1] - a[i] > k) { tmp = a[i - 1] - a[i] - k; a[i] += tmp; sum += tmp; } } if (i < n - 1 && a[i + 1] > a[i]) { if (a[i] - a[i + 1] > k) { tmp = a[i] - a[i + 1] - k; a[i] += tmp; sum += tmp; i = -1; } else if (a[i + 1] - a[i] > k) { tmp = a[i + 1] - a[i] - k; a[i] += tmp; sum += tmp; i = -1; } } } std::cout << sum << std::endl; delete[] a; return 0; } |
English