728x90
- C++
#include <iostream>
#include <stack>
using namespace std;
int N, first = 1001, last, longest, pos, len, answer;
int arr[1001];
stack<int> st;
int main() {
cin.tie(0);
ios_base::sync_with_stdio(0);
cin >> N;
while (N--) {
cin >> pos >> len;
arr[pos] = len;
if (last < pos) last = pos;
if (first > pos) first = pos;
if (len > arr[longest]) longest = pos;
}
for (int i = first; i <= longest; i++) {
if (arr[i]) {
if (st.empty())
st.push(arr[i]);
else if (arr[i] > st.top())
st.push(arr[i]);
}
answer += st.top();
}
while (!st.empty()) st.pop();
for (int i = last; i > longest; i--) {
if (arr[i]) {
if (st.empty())
st.push(arr[i]);
else if (arr[i] > st.top())
st.push(arr[i]);
}
answer += st.top();
}
cout << answer;
return 0;
}
|
cs |
728x90
'PS' 카테고리의 다른 글
BOJ 18808 - 스티커 붙이기 (0) | 2020.11.13 |
---|---|
거스름돈 기초 문제 (0) | 2020.11.12 |
BOJ 14719 - 빗물 (0) | 2020.10.26 |
BOJ 1725 - 히스토그램 (0) | 2020.10.26 |
BOJ 1935 - 후위 표기식 2 (0) | 2020.10.25 |