#include "math.h" #include #include #include #include #include #include #include #include #include #include #define ifor(i, a, b) for (lli i = (a); i < (b); i++) #define rfor(i, a, b) for (lli i = (b)-1; i >= (a); i--) #define rep(i, n) for (lli i = 0; i < (n); i++) #define rrep(i, n) for (lli i = (n)-1; i >= 0; i--) using namespace std; typedef long double ld; using lli = long long int; int main() { lli n, c, v; cin >> n >> c >> v; using p = pair>; priority_queue, greater

> que; que.push(make_pair(0, make_pair(1, 0))); while (true) { auto t = que.top(); que.pop(); auto C = t.first; auto len = t.second.first; if (len >= n) { cout << C << endl; return 0; } auto buf = t.second.second; //cout << C << " " << len << " " << buf << endl; if (buf < len) que.push(make_pair(C + c, make_pair(len, len))); que.push(make_pair(C + v, make_pair(len + buf, buf))); } }