반응형
문제 : https://www.acmicpc.net/problem/1712
서론
조건을 만족하는지 반복문을 돌려 확인하면 시간초과에 걸린다.
아이디어
시간초과를 고려하지 않고 조건을 만족하는지 알아보기 위해 반복문을 만든다.
// i = 판매량
for(i){
if(a+b*i<c*i) result
}
즉 a+b*i<c*i를 만족시키는 i를 구하면 된다.
위 식을 변형하면
a/(c-b)<i가 나오므로 i에 대한 조건식을 만들었다.
구현
//c++
#include <iostream>
int main() {
long long a, b, c;
std::cin >> a >> b >> c;
if (c > b) std::cout << a / (c - b) + 1;
else std::cout << -1;
/*
for (int i = 1; i <= 210000000; i++) {
if (a + b * i < c*i) {
std::cout << i;
break;
}
}
*/
}
최근댓글