#include using namespace std; #define REP(i, n) for(int(i)=0;(i)<(n);++(i)) template _T divceil(_T n, _T m){return (n+m-1)/m;} int main(){ int A,B,T; cin >> A >> B >> T; // min(Ax+By) >= T // x <= T/A, y <= T/B // y > A の場合、Ax+By+AB-AB = A(x+B)+B(y-A) となり、 // (y-A)がyの探索済み範囲と同じになるため省略可 int m = min(divceil(T,B),A); int res = INT_MAX; for(int y = 0; y <= m; y++){ int By = B*y; int Ax = By >= T ? 0 : divceil(T-By,A)*A; res = min(res, Ax+By); } cout << res << endl; }