백준 - 빗물(14719) 본문
골드5 간단한 문제를 풀었다.

계속 양옆의 큰값을 비교해 작은 값을 자기 자신과 빼준다.
자기 자신이 더 크거나 값이 같으면 그냥 넘어간다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int H, W;
cin >> H >> W;
vector<int> data;
int answer = 0;
for (int i = 0; i < W; i++) {
int temp;
cin >> temp;
data.push_back(temp);
}
for (int i = 1; i < W - 1; i++) {
int max_left = *max_element(data.begin(), data.begin() + i);
int max_right = *max_element(data.begin() + i + 1, data.end());
int min_data = min(max_left, max_right);
if (min_data <= data[i]) continue;
else { answer += min_data - data[i];}
}
cout << answer << endl;
}
'개발 > 알고리즘' 카테고리의 다른 글
백준 - 히스토그램에서 가장 큰 직사각형(6549) (0) | 2024.10.07 |
---|---|
백준 - 테트로미노(14500) (0) | 2024.09.30 |
백준 - LCA(11437) (0) | 2024.08.01 |
백준 - 보물섬(2589) (0) | 2024.07.19 |
백준 - 최소비용 구하기(1916) (0) | 2024.07.16 |
Comments