17451번: 평행 우주
행성 1에 가기 위해 필요한 것보다 세 배의 속도로, 행성 2의 경우 두 배의 속도로 이동하면, 지구에서는 900의 속도만 쌓으면 된다.
www.acmicpc.net
카테고리가 이분탐색이긴 한데 잘 모르겠다..
풀이 방법은 뒤에서 부터 순회하며 값을 찾는다.
현재의 값의 배수면서 && 이전 값보다 큰 최솟값을 찾는다.
#include <stdio.h>
using namespace std;
int n;
int arr[300001];
int main(void)
{
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
long long res = arr[n - 1];
for (int i = n - 2; i > -1; i--)
{
if (res % arr[i] == 0)
continue;
long long m = res / arr[i] + 1;
res = arr[i] * m;
}
printf("%lld\n", res);
return 0;
}
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준 3079] 입국심사 (0) | 2020.12.28 |
---|---|
[백준 15810] 풍선 공장 (0) | 2020.12.28 |
[백준 16918] 봄버맨 (0) | 2020.12.27 |
[백준 16235] 나무 재테크 (0) | 2020.12.26 |
[백준 16236] 아기 상어 (0) | 2020.12.26 |
댓글