반응형

문제 : 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;
		}
	}
	*/
}