끄적끄적 코딩
article thumbnail
728x90

손익분기점을 구하는 문제입니다.

A + B * i < C * i 에서 i가 몇인지 구하는 문제입니다.
i를 하나하나 계산을 하게 된다면 시간초과가 나게 됩니다.

A + B * i < C * i
= A < (B - C) * i
= A / (C - B) < i
이를 계산하면 소숫점이 나오기 때문에 1을 더해줍니다.
A / (C - B) + 1이 결과값이 됩니다.

 

#include <iostream>
#include <cstring>
#include <algorithm>
#include <string>
using namespace std;

int main(int argc, char *argv[])
{	
	long long int a, b, c;
	int x;

	cin >> a;
	cin >> b;
	cin >> c;

	if (b >= c) {
		cout << "-1" << endl;
		return 0;
	}

	x = a / (c - b);
	cout << x + 1 << endl;

	return 0;
}

검색 태그