작성일 :

문제 링크

1712번 - 손익분기점

설명

수학적인 계산 문제입니다.

고정 비용 A, 가변 비용 B, 판매 가격 C 가 주어졌을 때,

판매 수량 x 에 대한 총 비용은 A + (B * x) 이며, 총 수익은 (C * x) 입니다.


이익이 발생하기 시작하는 시점, 즉, 손익분기점을 구하기 위해서는 총 수익이 총 비용을 초과하기 시작하는 판매 수량을 찾아야 합니다.

즉, A + (B * x) < (C * x) 을 만족하는 가장 작은 x 를 찾아야 합니다.

위 부등식을 x 에 대하여 정리하면, x > A / (C - B) 가 됩니다.


CB 보다 작거나 같은 경우에는 판매 가격이 가변 비용보다 작거나 같게 되므로, 손익분기점이 존재하지 않음에 주의합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var input = Console.ReadLine()!.Split(' ');

      var A = long.Parse(input[0]);
      var B = long.Parse(input[1]);
      var C = long.Parse(input[2]);

      if (C <= B) Console.WriteLine(-1);
      else Console.WriteLine(A / (C - B) + 1);

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  ll A, B, C; cin >> A >> B >> C;

  if (C <= B) cout << -1 << "\n";
  else cout << A / (C - B) + 1 << "\n";

  return 0;
}