https://www.acmicpc.net/problem/25215
문제 설명
접근 방법
먼저, 여태까지 나온 수 중 가장 작은수가 무엇인지를 구한다. 이를 위해서는 입력과 동시에 여태까지 나온 수 중에 가장 작은 수와 입력된 값을 비교하면 된다. 그 후에는 (현재 값- 가장 작은 값)이 여지껏 나온 결과 값 중에 가장 크다면 그 값을, 아니라면 이전의 나온 결과 값을 출력하면 된다.
코드
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int minValue;
int sol;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> n;
minValue = 1000000001;
for (int i = 1; i <= n; i++) {
int x;
cin >> x;
minValue = min(x, minValue);//입력된 값과 가장 작은 값을 비교한다.
sol = max(x - minValue, sol);//저번에 출력한 값과, 이번에 계산한 값중에 더 큰 것을 출력
cout << sol << ' ';
}
}
'알고리즘 > IUPC 2022' 카테고리의 다른 글
[백준] 25210번 정사각형 세기 [C++] (0) | 2022.07.18 |
---|---|
[백준] 25216번 파밍루트 [C++] (0) | 2022.05.30 |
[백준] 25208번 새벽의 탐정 게임 [C++] (0) | 2022.05.24 |
[백준] 25215번 타이핑 [C++] (0) | 2022.05.24 |
[백준] 25212번 조각케이크 [C++] (0) | 2022.05.24 |