n লিটার পানি কিনতে হবে। দুটি ধরনের বোতল: ১-লিটার (দাম a টাকা) এবং ২-লিটার (দাম b টাকা)। ন্যূনতম টাকা খরচ করে ঠিক n লিটার পানি কিনতে হবে।
সমাধানের ধাপসমূহ
২-লিটার বোতলের দাম b এবং ২টি ১-লিটার বোতলের দাম 2a তুলনা করুন। সস্তা वाला নিয়ে n/2টি ২-লিটার বোতল কিনুন। যদি n বিজোড় হয়, ১টি ১-লিটার বোতল কিনুন। ফর্মুলা: b = min(2a, b); ans = (n/2)*b + (n%2)*a।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int solve(int n, int a, int b) {
b = min(a * 2, b);
return n / 2 * b + n % 2 * a;
}
int main() {
int n = 7, a = 3, b = 2;
cout << solve(n, a, b) << endl;
return 0;
}
ইনপুট
7, 3, 2
আউটপুট
9
ব্যাখ্যা
n=7, a=3, b=2। ২-লিটার বোতল সস্তা (2 < 6)। ৩টি ২-লিটার = ৬ লিটার, দাম ৬। ১টি ১-লিটার = ১ লিটার, দাম ৩। মোট = ৯।