#백준2869번
a,b,v=map(int,input().split())
distance=0
count=0
while(1):
count=count+1
distance=distance+a
if distance >= v:
break
else:
distance=distance-b
print(count)
```
예제 입력 1
2 1 5
예제 출력 1
4
예제 입력 2
5 1 6
예제 출력 2
2
예제 입력 3
100 99 1000000000
예제 출력 3
999999901
->여기 3번째 test case에서 시간이 초과되었다 ㅠ 수학적인 방법을 동원해서 연산시간을 줄여야 할것 같다 (저 코드로는 big O가 큰듯)
```
#백준2869번
a,b,v=map(int,input().split())
left=v
count=1
while(left>a+(a-b)):
count=count+1
left=left-(a-b)
count=count+1
print(count)
```
다른 방식으로 코드를 써봐도, 3번째 test case 에서 시간 초과 ㅠ
예제 입력을 하나씩 다시 따져봤다.
이번에는 거꾸로 연산을 해봤다.
2 1 5 test case
5
-2*1 (2를 먼저 뺀다)
3
-(2-1)*3 (남은 값에서 (2-1)의 배수만큼 뺀다)
0
5 1 6 test case
6
-5*1 (5를 먼저 뺀다)
1
-(5-1)*1 (남은 값에서 (5-1)의 배수만큼 뺀다)
-3
100 99 1000000000 test case
1000000000
-100*1 (100을 먼저 뺀다)
999999900
-(100-99)*999999900 (남은 값에서 (100-99)의 배수만큼 뺀다)
0
이런 방식을 코드로 작성하면 다음과 같다.
```
#백준2869번
a,b,v=map(int,input().split())
left=v
count=0
left=left-a
count=count+1
if left%(a-b)==0:
count=count+(left//(a-b))
else :
count=count+((left//(a-b))+1)
print(count)