- /* Goal to be an candidate master*/
- #include<bits/stdc++.h>
- #include<tuple>
- using namespace std;
- #define ll long long int
- #define ull unsigned long long int
- #define dd double
- #define endl "\n"
- #define pb push_back
- #define all(v) v.begin(),v.end()
- // #define mp make_pair
- #define fi first
- #define se second
- #define vll vector<ll>
- #define pll pair<ll,ll>
- #define fo(i,n) for(int i=0;i<n;i++)
- #define fo1(i,n) for(int i=1;i<=n;i++)
- #define fore(i, l, r) for(int i = int(l); i < int(r); i++)
- #define min3(a,b,c) min(a,min(b,c))
- #define pi 3.14159265358979323846264338
- #define e(v) v.empty()
- #define bscount(x) __builtin_popcountll(x)
- #define sz(x) (int)(x).size()
- ll mod = 100000000007;
- ll n, k, t, m, q, flag = 0;
- ll power(ll a, ll b) {ll res = 1; a %= mod; assert(b >= 0); for (; b; b >>= 1) {if (b & 1)res = res * a % mod; a = a * a % mod;} return res;}
- ll gcd(ll a, ll b) { if (a == 0) return b; return gcd(b % a, a); }
- ll lcm(ll a, ll b) {return a * b / gcd(a, b);}
- ll min(ll a, ll b) {if (a > b)return b; else return a;}
- ll max(ll a, ll b) {if (a > b)return a; else return b;}
- ll ceil_div(ll a, ll b) {return a % b == 0 ? a / b : a / b + 1;}
- bool isPowerOfTwo(ll n)
- {
- if (n == 0)
- return false;
- return (ceil(log2(n)) == floor(log2(n)));
- }
- void solve() {
- ll n; cin >> n;
- ll inc, dec; cin >> dec >> inc;
- vll v = {3, 5, 7};
- ll ans = 1e18 + 1;
- for (int i = 0; i < 3; i++)
- {
- for (int j = i + 1; j < 3; j++)
- {
- for (int p1 = 1; p1 <= 20; p1++)
- {
- for (int p2 = 1; p2 <= 20; p2++)
- {
- ll num1 = 1, num2 = 1;
- fo1(k, p1)num1 *= v[i];
- fo1(k, p2)num2 *= v[j];
- ll sum = num1 + num2;
- // cout << sum << endl;
- if (sum > n)
- {
- // cout << sum << " " << n << endl;
- ll cost = (sum - n) * inc;
- if (cost >= 0)
- ans = min(ans, cost);
- }
- else
- {
- ll cost = (n - sum) * dec;
- if (cost >= 0)
- ans = min(ans, cost);
- }
- }
- }
- }
- }
- cout << ans << endl;
- }
- int main()
- {
- #ifndef ONLINE_JUDGE
- // for getting input from input.txt
- freopen("input.txt", "r", stdin);
- // for writing output to output.txt
- freopen("o.txt", "w", stdout);
- #endif
- int T;
- T = 1;
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cin >> T;
- // precompute();
- for (int i = 1; i <= T; i++)
- {
- // cout<<"Case #"<<i<<": ";
- solve();
- }
- cerr << "Time : " << 1000 * ((double)clock()) / (double)CLOCKS_PER_SEC << "ms\n";
- }
Raw Paste