Submission #395128

#TimeUsernameProblemLanguageResultExecution timeMemory
395128kaplanbarRoses (BOI20_roses)C++14
20 / 100
367 ms316 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    ll n;
    int a, b, c, d;
    cin >> n >> a >> b >> c >> d;

    ll ans = 1e18;

    auto calculate1 = [&](int x) -> ll {
        ll c1 = (x + a - 1) / a;
        ll c2 = max(0ll, n - c1 * a + c - 1) / c;
        if(c1 >= 1e18/b || c2 >= 1e18/d) return ll(1e18);
        return c1 * b + c2 * d;
    };

    auto calculate2 = [&](int x) -> ll {
        ll c1 = (x + c - 1) / c;
        ll c2 = max(0ll, n - c1 * c + a - 1) / a;
        if(c1 >= 1e18/d || c2 >= 1e18/b) return ll(1e18);
        return c1 * d + c2 * b;
    };

    auto calculate3 = [&](int x) -> ll {
        ll c1 = x / a;
        ll c2 = max(0ll, n - c1 * a + c - 1) / c;
        if(c1 >= 1e18/b || c2 >= 1e18/d) return ll(1e18);
        return c1 * b + c2 * d;
    };

    auto calculate4 = [&](int x) -> ll {
        ll c1 = x / c;
        ll c2 = max(0ll, n - c1 * c + a - 1) / a;
        if(c1 >= 1e18/d || c2 >= 1e18/b) return ll(1e18);
        return c1 * d + c2 * b;
    };

    for(int i = 0; i <= min(ll(1e7), n); i++) {
        ans = min(ans, calculate1(i));
        ans = min(ans, calculate2(i));
        // ans = min(ans, calculate3(i));
        // ans = min(ans, calculate4(i));
    }

    cout << ans;

    return 0;
}

Compilation message (stderr)

Roses.cpp: In function 'int main()':
Roses.cpp:28:10: warning: variable 'calculate3' set but not used [-Wunused-but-set-variable]
   28 |     auto calculate3 = [&](int x) -> ll {
      |          ^~~~~~~~~~
Roses.cpp:35:10: warning: variable 'calculate4' set but not used [-Wunused-but-set-variable]
   35 |     auto calculate4 = [&](int x) -> ll {
      |          ^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...