반응형
출처: https://www.acmicpc.net/problem/1712
Approach
A = 고정 비용
B = 가변 비용
C = 노트북 가격
x = 최초로 이익(손익분기점)이 발생하는 판매량
→ A + Bx < Cx 로 식을 세울 수 있다.
결과로 나올 수 있는 x 범위가 한정되어 있다면 완전탐색으로 찾을수도 있겠지만
손익분기점 자체가 발생하지 않을 수도 있다고 하였기 때문에 특정 범위를 정할 수도 없다.
해당 식을 변형하면 아래와 같이 만들 수 있다.
→ A < Cx - Bx → A / (C - B) < x
(해석) 최초로 이익이 발생하는 시점은 A / (C - B) + 1
A는 자연수라고 하였고, 노트북 가격(C)이 가변 비용(B) 보다 크면 분모는 양수이기 때문에
손익분기점 발생을 보장할 수 있다.
반대로 가변 비용(B)가 노트북 가격(C) 보다 크면 (C < B) 이면 분모는 음수가 될 수 밖에 없고
음수 + 1 = 0.xxx 로 손익분기점이 존재하지 않는 것을 의미한다.
또한, 분모 ≠ 0 이어야 하므로 B = C 일 수 없다.
따라서 B ≥ C 인 경우를 제외하고는 손익분기점이 발생한다.
#include <stdio.h>
int main()
{
int A, B, C;
// freopen("input.txt", "r", stdin);
scanf("%d %d %d", &A, &B, &C);
printf("%d\n", B >= C ? -1 : A / (C - B) + 1);
return 0;
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 2869 달팽이는 올라가고 싶다. (0) | 2021.07.21 |
---|---|
[BOJ] 백준 10773 제로 (0) | 2021.07.21 |
[BOJ] 백준 2504 괄호의값 (0) | 2021.06.05 |
[BOJ] 백준 21610 마법사 상어와 비바라기 (2) | 2021.05.30 |
[BOJ] 백준 21611 마법사 상어와 블리자드 (9) | 2021.05.24 |
댓글