मान लीजिए हमारे पास तीन संख्याएं n, a और b हैं। हम n लीटर पानी खरीदना चाहते हैं। आसपास केवल दो प्रकार की पानी की बोतलें हैं, 1-लीटर बोतलें और 2-लीटर बोतलें। पहली प्रकार की बोतल की कीमत a रुपये है और दूसरी प्रकार की बोतल की कीमत b रुपये है। हम यथासंभव कम पैसा खर्च करना चाहते हैं। हमें ठीक n लीटर पानी खरीदने के लिए आवश्यक धन की न्यूनतम राशि ढूंढनी है।
उदाहरण के लिए, यदि इनपुट n = 7; a = 3; b = 2 है, तो आउटपुट 9 होगा, क्योंकि 3 दो-लीटर बोतलों से हम 6 लीटर पानी 6 की कीमत पर प्राप्त कर सकते हैं, फिर 3 की कीमत पर एक 1-लीटर बोतल की आवश्यकता होती है।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
b := minimum of a * 2 and b return (n / 2 * b) + (n mod 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; int a = 3; int b = 2; cout << solve(n, a, b) << endl; }
इनपुट
7, 3, 2
आउटपुट
9