#include <cstdio>
#include <vector>
using namespace std;
int p[1000];
int main()
{
int n, k, result = 0, delta;
scanf("%d %d %d", &n, &k, p);
for(int i =1;i<n;i++)
{
scanf("%d", p+i);
if(p[i] < p[i-1] - k)
{
delta = p[i-1] - k - p[i];
result += delta;
p[i] += delta;
}
for(int j = i; j>0 && p[j] > p[j-1] + k;j--)
{
delta = p[j] - k - p[j-1];
result += delta;
p[j-1] += delta;
}
}
printf("%d\n", result);
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 | #include <cstdio> #include <vector> using namespace std; int p[1000]; int main() { int n, k, result = 0, delta; scanf("%d %d %d", &n, &k, p); for(int i =1;i<n;i++) { scanf("%d", p+i); if(p[i] < p[i-1] - k) { delta = p[i-1] - k - p[i]; result += delta; p[i] += delta; } for(int j = i; j>0 && p[j] > p[j-1] + k;j--) { delta = p[j] - k - p[j-1]; result += delta; p[j-1] += delta; } } printf("%d\n", result); return 0; } |
English