PS/BOJ

[백준 BOJ] 1712 손익분기점

Jubil 2018. 11. 21. 19:21
반응형

1712_손익분기점

링크

https://www.acmicpc.net/problem/1712

 

풀이


 

손익분기점을 찾으려면 다음과 같은 식을 세울 수 있습니다.

a + b*ans < c*ans

정리해보면

a < (c-b)*ans

그럼

a/(c-b) < ans가 나오는데요.

a/(c-b)를 하면 나누어 떨어지거나, 소수점 .xxx가 나옵니다.

어떠한 경우든 상관없이 1개를 더 팔아야 하기 때문에 +1을 해줍니다.

 

그리고 손익분기점이 없는 경우는 b >= c인 경우입니다.

똑같이 팔거나 손해가 나면 손익분기점이 없겠죠?

 

코드

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

//1712_손익분기점

#include <cstdio>

 

long long a, b, c, ans;

 

int main() {

    scanf("%lld %lld %lld"&a, &b, &c);

 

    if (b >= c) {

        printf("-1\n");

        return 0;

    }

 

    //a + b*ans < c*ans

    //a < (c-b)*ans

    //a/(c-b) < ans

    // 떨어지든 아니든 조금 부족하기 때문에 1 더해줘야함

 

    ans = a / (c - b) + 1;

 

    printf("%lld\n", ans);

 

    return 0;

}

Colored by Color Scripter

cs

 



반응형