牛客網暑期ACM多校訓練營(第五場)J plan【分類】
阿新 • • 發佈:2018-12-24
答案無非那麼幾種,要麼都用2,要麼都用3,要麼3主2補,要麼2主3補。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<iomanip>
using namespace std;
const int maxn = 1e5 + 12;
#define ll long long int
int main() {
ll n, p2, p3, ans, tmp;
scanf("%lld %lld %lld" , &n, &p2, &p3);
tmp = min(p2, p3);
ans = min(n / 3 * p3 + (n % 3 ? tmp : 0), n / 2 * p2 + (n % 2 ? tmp : 0));
if (n % 3 == 1) ans = min(ans, (n - 4) / 3 * p3 + 2 * p2);
if (n % 2 == 1) ans = min(ans, (n - 3) / 2 * p2 + p3);
printf("%lld\n", ans);
return 0;
}