मान लीजिए हमारे पास पांच संख्याएं b, p, f, h और c हैं। एक रेस्तरां में दो प्रकार के बर्गर हैं। ये हैमबर्गर और चिकन बर्गर हैं। हैमबर्गर को दो बन और एक बीफ पैटी की आवश्यकता होती है और चिकन बर्गर के लिए दो बन और एक चिकन कटलेट की आवश्यकता होती है। हमारे पास b बन, p बीफ पैटी, f चिकन कटलेट हैं। हम हैमबर्गर को h रुपये में और चिकन बर्गर को c रुपये में बेचने की कोशिश कर रहे हैं। हमें अधिकतम लाभ ढूंढना है जो हम प्राप्त कर सकते हैं।
उदाहरण के लिए, यदि इनपुट b = 7; p = 5; f = 2; h = 10; c = 12 है, तो आउटपुट 34 होगा, क्योंकि एक हैमबर्गर और दो चिकन बर्गर के लिए। आय 1*10 + 2*12 = 34 है।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
res := 0 b := b / 2 यदि h < c, तो: p और f को स्वैप करें h और c को स्वैप करें res := res + h * (b और p का न्यूनतम) + c * ((b - p का अधिकतम और 0) और f का न्यूनतम) res वापस करें
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#include <bits/stdc++.h> using namespace std; int solve(int b, int p, int f, int h, int c) { int res = 0; b /= 2; if (h < c) { swap(p, f); swap(h, c); } res += h * min(b, p) + c * min(max(b - p, 0), f); return res; } int main() { int b = 7; int p = 5; int f = 2; int h = 10; int c = 12; cout << solve(b, p, f, h, c) << endl; } इनपुट
7, 5, 2, 10, 12
आउटपुट
34