#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; typedef tuple T; const int INF = 1000000000; const int MOD = 1000000007; ll v,t,p; bool check(ll mid){ //mid秒を達成出来るかどうか. if(mid / t >= mid - v * (p+1)){ return true; } return false; } int main(){ cin >> v >> t >> p; //まず,v*(p+1)は少なくとも達成出来る. //鼻をすする場合は,容量v*(p+1)のとき何回すすれるかを考える.(瞬時にすすれることを考慮するとOK) //伸ばせる時間は,2分探索? ll ans = v * (p + 1); ll ng = 2e18; ll ok = 0; while(ng - ok > 1){ ll mid = (ok + ng) / 2; if(check(mid)){ ok = mid; } else ng = mid; } cout << ok + 1 << endl; }