https://www.acmicpc.net/problem/2869
A>B 이므로 달팽이가 정상에 올라가는 시점은 낮이다.
정상에 도달하게 되는 마지막 날 낮을 제외하고, 그 전날까지 달팽이가 올라오는 데 며칠이 걸리는지 구해보자.
마지막 날 낮에 움직이는 거리를 제외한 막대 길이(V-A)를 하루동안 움직이는 거리(A-B)로 나누면 된다.
이때, (V-A)/(A-B)가 나누어 떨어지지 않을 수 있으므로, 실수형으로 변환하여 계산한 후 올림을 한다.
그리고 큰 수가 들어올 때를 고려하여 double 형으로 변환해야 한다. float로 변환할 경우 예제 3을 실행하면 오버플로우가 발생한다.
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int ans = 0;
int A, B, V;
cin >> A >> B >> V;
ans = ceil(double(V-A)/(A-B)) + 1;
cout << ans;
return 0;
}