728x90
오르막길 내리막길 평지로 이루어졌을 때
오르막길이 가장 큰 경우의 값을 출력하는 문제입니다.
현재수가 이전수보다 크면 값을 더해주는 방식으로
오르막길의 높이를 구했습니다.
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main(int argc, char * argv[])
{
int n;
int sum = 0;
int result = 0;
int arr[1010];
memset(arr, 0, sizeof(arr));
cin >> n;
cin >> arr[0];
for (int i = 1; i < n; ++i) {
cin >> arr[i];
if (arr[i] > arr[i - 1]) {
sum += arr[i] - arr[i - 1];
}
else {
result = max(result, sum);
sum = 0;
}
}
result = max(result, sum);
cout << result << endl;
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 10800번 컬러볼 (0) | 2019.09.25 |
---|---|
[C++] 백준 10799번 쇠막대기 (0) | 2019.09.24 |
[C++] 백준 2669번 직사각형 네개의 합집합의 면적 구하기 (0) | 2019.09.24 |
[C++] 백준 2475번 검증수 (0) | 2019.09.24 |
[C++] 백준 2953번 나는 요리사다 (0) | 2019.09.24 |