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;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 10026번 적록색약 (0) | 2019.08.05 |
---|---|
[C++] 백준 2748번 피보나치 수 2 (0) | 2019.08.05 |
[C++] 백준 1316번 그룹 단어 체커 (0) | 2019.08.04 |
[C++] 백준 2941번 크로아티아 알파벳 (0) | 2019.08.04 |
[C++] 백준 5622번 다이얼 (0) | 2019.08.04 |