Module: लालची एल्गोरिदम


Problem

1 /9


फॉर्मैगियो पैनजेरोटी खरीदता है

Theory Click to read/hide

लालची एल्गोरिद्म एक एल्गोरिद्म है जो प्रत्येक चरण पर इष्टतम (वर्तमान चरण के भीतर) वेरिएंट को इस उम्मीद में चुनता है कि अंतिम समाधान वैश्विक अर्थों में इष्टतम होगा।

छोटा उदाहरण:
मान लीजिए कि हमारे पास अलग-अलग मूल्यवर्ग के सिक्कों की असीमित संख्या है और हमें राशि S एकत्र करने की आवश्यकता है। आइए दो विशिष्ट मामलों पर विचार करें, जिनमें से प्रत्येक को हम लालची एल्गोरिदम के साथ हल करने का प्रयास करेंगे।
अर्थात्, हम निम्नानुसार कार्य करेंगे: प्रत्येक चरण पर हम उच्चतम मूल्यवर्ग का एक सिक्का लेंगे (चरण के भीतर सबसे अच्छा विकल्प), जो शेष राशि से अधिक नहीं होगा।

a) मान लें कि सिक्कों का मूल्य 1, 5 और 10 है, और S = 27 है।
1) 10 लें, S: 27 -> 17
2) 10 लें, S: 17 -> 7
3) लो 5, एस: 7 -> 2
4) 1, S: 2 -> 1
5) 1 लें, S: 1 -> 0
परिणामस्वरूप, उन्होंने पाँच सिक्कों की राशि अर्जित की। आप स्वतंत्र रूप से (उदाहरण के लिए, क्रूर बल) यह सुनिश्चित कर सकते हैं कि 4 सिक्कों या उससे कम के लिए आप 27 स्कोर नहीं कर पाएंगे।

b) मान लें कि सिक्कों का मूल्य 1, 5 और 7 है, और S = 24 है।
1) लो 7, एस: 24 -> 17
2) लो 7, एस: 17 -> 10
3) लो 7, एस: 10 -> 3
4) 1, S: 3 -> 2
5) 1 लें, S: 2 -> 1
6) लो 1, एस: 1 -> 0.
हमने छह सिक्कों के साथ स्कोर किया, लेकिन चार सिक्कों के साथ एस स्कोर कर सके - दो 7 के अंकित मूल्य के साथ और दो 5 के अंकित मूल्य के साथ।

जैसा कि उदाहरण से देखा जा सकता है, लालची एल्गोरिथम के साथ समस्याओं को हल करना हमेशा संभव नहीं होता है। लेकिन अगर यह समग्र इष्टतम उत्तर की ओर ले जाता है, तो यह आमतौर पर गतिशील प्रोग्रामिंग या अन्य विधियों का उपयोग करने से आसान होगा।

Problem

फॉर्मैगियो विभिन्न भरावों के साथ पैन्ज़ेरोटी का बहुत शौकीन है, और यह इतना महत्वपूर्ण नहीं है कि किसके साथ। एक बार, भूखे होने के कारण, फॉर्मैगियो एक बेकरी में गया और देखा कि टमाटर, पालक और मशरूम के साथ पैन्ज़ेरोटी बिक्री पर थे।
फॉर्मैगियो अधिक से अधिक पैन्ज़ेरोटी खरीदना चाहता है, लेकिन समस्या यह है कि बिक्री पर पैन्ज़ेरोटी की संख्या सीमित है, बिल्कुल फॉर्मैगियो के पैसे की तरह।

फॉर्मैगियो को पैनजेरोटी की अधिकतम संख्या निर्धारित करने में मदद करें जो वह खरीद सकता है।

इनपुट:
पहली पंक्ति में संख्याएँ P1, P2 और P3 हैं - टमाटर, पालक और मशरूम के साथ पैनजेरोटी की कीमत क्रमशः।
दूसरी पंक्ति N1, N2 और N3 के मानों को परिभाषित करती है - बिक्री पर मैचिंग पैनजेरोटी की संख्या। 
तीसरी पंक्ति में संख्या R – फॉर्मैगियो के पास जितनी धनराशि है। 
इनपुट में सभी संख्याएं धनात्मक पूर्णांक हैं जो 10000 से अधिक नहीं हैं।

आउटपुट:
एक पूर्णांक प्रिंट करें - पैनजेरोटी की अधिकतम संख्या जिसे Formaggio खरीद सकता है।

उदाहरण:
  <तालिका सीमा = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1" शैली = "चौड़ाई: 500 पीएक्स;"> <शरीर> इनपुट आउटपुट 5 3 8
2 6 4
23 7