Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

अधिकतम k रुपये में कितने चॉकलेट खरीद सकते हैं ढूंढने के लिए C++ प्रोग्राम


मान लीजिए हमारे पास n तत्वों वाला एक ऐरे A है, और अन्य मान l, r और k हैं। अमल चॉकलेट खरीदना चाहता है और वह बहुत महंगी चॉकलेट नहीं खरीदेगा, और बहुत सस्ती भी नहीं। दुकान में n अलग-अलग चॉकलेट बार हैं और कीमतें A में दर्शाई गई हैं। एक चॉकलेट बार बहुत महंगी है यदि उसकी कीमत r से अधिक है और बहुत सस्ती यदि उसकी कीमत l से कम है। वह अधिकतम k रुपये खर्च करना चाहता है। हमें अधिकतम चॉकलेट की संख्या ढूंढनी है जो वह खरीद सकता है।

उदाहरण के लिए, यदि इनपुट A = [1, 2, 3, 4, 5, 6]; l = 3; r = 5; k = 10 है, तो आउटपुट 2 होगा, क्योंकि वह 3 और 4 रुपये की चॉकलेट 7 रुपये में खरीद सकता है।

चरण

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

n := A का आकार ans := 0 ऐरे A को सॉर्ट करें i := 0 से n-1 तक, करें: यदि A[i] > k, तो: लूप से बाहर निकलें यदि A[i] >= l और A[i] <= r, तो: k := k - A[i] ans बढ़ाएं ans वापस करें

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <bits/stdc++.h> using namespace std; int solve(vector<int> A, int l, int r, int k) {    int n = A.size();    int ans = 0;    sort(A.begin(), A.end());    for (int i = 0; i < n; ++i) {       if (A[i] > k)          break;       if (A[i] >= l && A[i] <= r) {          k -= A[i];          ++ans;       }    }    return ans; } int main() {    vector<int> A = { 1, 2, 3, 4, 5, 6 };    int l = 3;    int r = 5;    int k = 10;    cout << solve(A, l, r, k) << endl; }

इनपुट

{ 1, 2, 3, 4, 5, 6 }, 3, 5, 10 

आउटपुट

2

  1. ग्राफ से घटाए जा सकने वाले अधिकतम स्कोर की मात्रा ज्ञात करने का C++ प्रोग्राम ग्राफ से घटाए जा सकने वाले अधिकतम स्कोर की मात्रा ज्ञात करने का C++ प्रोग्राम

    मान लीजिए n वर्टेक्स और m एज वाला एक भारित, निदेश रहित ग्राफ दिया गया है। ग्राफ का स्कोर ग्राफ में सभी एज भारों का योग है। एज भार ऋणात्मक हो सकते हैं, और यदि उन्हें हटा दिया जाए तो ग्राफ का स्कोर बढ़ जाता है। हमें ग्राफ को संबद्ध रखते हुए एज हटाकर ग्राफ के स्कोर को न्यूनतम करना है। हमें घटाए जा सकन

  1. - पायथन में अधिकतम कितनी पानी की बोतलें पी सकते हैं, इसका प्रोग्राम

    मान लीजिए n भरी हुई पानी की बोतलें हैं, हम m खाली बोतलों को केवल एक भरी बोतल के बदले एक्सचेंज कर सकते हैं। अब एक भरी बोतल पीने से वह खाली बोतल बन जाती है। हमें अधिकतम कितनी पानी की बोतलें पी सकते हैं, यह ढूंढना है। उदाहरण के लिए, यदि इनपुट n = 9, m = 3 है, तो आउटपुट 13 होगा क्योंकि शुरुआत में हमारे

  1. - पायथन में सीढ़ियां चढ़ने के तरीकों की संख्या खोजें (अधिकतम चरण अधिकतम k बार)

    मान लीजिए हमारे पास n चरणों वाली एक सीढ़ी है और एक अन्य संख्या k है। प्रारंभ में हम चरण 0 पर हैं, और हम एक बार में 1, 2 या 3 चरण चढ़ सकते हैं। लेकिन हम अधिकतम k बार ही 3 चरण चढ़ सकते हैं। अब हमें सीढ़ी चढ़ने के तरीकों की संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट है n = 5, k = 2, तो आउटपुट होगा 13,