
가장 높은 빌딩의 최종 높이는 D번만큼 레이저를 맞은 높이일 것입니다.
가장 높은 빌딩의 높이가 낮아질 동안 다른 빌딩들도 영향을 받는다는 점을 고려하면 됩니다.
#include <iostream>
#include <vector>
using namespace std;
int N, D, maxH;
long long answer;
vector<int> h;
int main()
{
ios::sync_with_stdio(0), cin.tie(0);
cin >> N >> D;
h = vector<int>(N);
for (int &i : h)
{
cin >> i;
maxH = max(maxH, i);
}
int hurdle = maxH - D;
hurdle = max(0, hurdle);
for (int &i : h)
{
if (hurdle < i)
{
answer += i - hurdle;
}
}
cout << answer;
return 0;
}
가장 높은 빌딩의 D일 후 조정된 높이가 결국 D일 후에 빌딩들의 최고 높이입니다.
가장 높은 빌딩의 조정된 높이보다 높이가 높은 빌딩들은 조정된 높이만큼 낮아질 것입니다. 조정될 높이까지의 높이 차이를 합산하여 출력하면 됩니다.