본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 1712 손익분기점

by 까망 하르방 2021. 7. 5.
반응형

출처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;
}

 

반응형

댓글