[백준/BOJ] 17451. 평행 우주 [Silver 3]

jychan99·2021년 11월 17일
0
post-thumbnail
  1. 평행 우주

문제 출처 : https://www.acmicpc.net/problem/17451

code

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int i, n, speed;
	int* arr;
	scanf("%d", &n);
	arr = (int*)malloc(n * sizeof(int));
	for (i = 0; i < n; i++)
		scanf("%d", &arr[i]);
	speed = arr[n-1];
	for (i = n - 2; i >= 0; i--)
	{
		if (arr[i] > speed)
			speed = arr[i];
		else
		{
			if (speed % arr[i])
				speed = (speed / arr[i] + 1) * arr[i];
		}
	}
	printf("%d", speed);
	free(arr);
	return 0;
}

푸는 방법은 맞는데 백준제출하면 계속 틀렸다고 나온다 ㅠㅠ


C++로 해결했다. 알고리즘은 동일하게 적용했고, speed변수의 범위를 long long으로 변경해주었다.

code

#include <iostream>
using namespace std;

int arr[300000] = {};
int main()
{
	int i, n;
	long long speed;

	cin >> n;
	for (i = 0; i < n; i++)
		cin >> arr[i];

	speed = arr[n-1];

	for (i = n - 2; i >= 0; i--)
	{
		if (arr[i] > speed)
			speed = arr[i];
		else
		{
			if (speed % arr[i])
				speed = (speed / arr[i] + 1) * arr[i];
		}
	}
	cout << speed;

	return 0;
}
profile
내가 지금 두려워 하고 있는 일이 바로 내가 지금 해야 할 일이다. 🐥

0개의 댓글