मान लीजिए हमारे पास पाँच संख्याएँ b, p, f, h और c हैं। एक रेस्टोरेंट में दो तरह के बर्गर होते हैं। ये हैमबर्गर और चिकन बर्गर हैं। हैमबर्गर को दो बन और एक बीफ पैटी चाहिए और चिकन बर्गर के लिए हमें दो बन और एक चिकन कटलेट चाहिए। हमारे पास बी बन्स, पी बीफ पैटी, एफ चिकन कटलेट हैं। हम कोशिश कर रहे हैं कि हैमबर्गर एच रुपये में और चिकन बर्गर ग रुपये में बेचा जाए। हमें अधिकतम लाभ प्राप्त करना है जो हम प्राप्त कर सकते हैं।
इसलिए, यदि इनपुट b =7 जैसा है; पी =5; एफ =2; एच =10; सी =12, तो आउटपुट 34 होगा, क्योंकि एक हैम्बर्गर और दो चिकन बर्गर के लिए। आय 1*10 + 2*12 =34 है।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
res := 0 b := b / 2 if h < c, then: swap p and f swap h and c res := res + h * (minimum of b and p) + c * minimum of the (maximum of (b - p) and 0) and f) return 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