मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी लागत है, जहां लागत [i] सिक्कों में ith आइसक्रीम बार की कीमत है। शुरू में हमारे पास खर्च करने के लिए c नंबर के सिक्के हैं, और हम अधिक से अधिक आइसक्रीम बार खरीदना चाहते हैं। हमें c सिक्कों से जितनी आइसक्रीम बार खरीद सकते हैं, उसकी अधिकतम संख्या ज्ञात करनी होगी।
इसलिए, यदि इनपुट लागत की तरह है =[3,1,4,5,2], सी =10, तो आउटपुट 4 होगा क्योंकि हम कुल के लिए सूचकांक 0,1,2,4 पर आइसक्रीम बार खरीद सकते हैं 3 + 1 + 4 + 2 =10 की कीमत।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सूची लागतों को क्रमबद्ध करें
-
मैं:=0
-
जबकि मैं <लागत का आकार और c>=लागत[i], करता हूं
-
c :=c - लागत[i]
-
मैं :=मैं+1
-
-
वापसी मैं
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(costs, c): costs.sort() i=0 while(i<len(costs) and c >= costs[i]): c = c-costs[i] i=i+1 return i costs = [3,1,4,5,2] c = 10 print(solve(costs, c))
इनपुट
[3,1,4,5,2], 10
आउटपुट
4