मान लीजिए कि आपको पूर्णांकों के गैर- अंतर - अंतराल अंतराल का एक सेट दिया गया है [a1,b1],[a2,b2],[a3,b3],...,[aN,bN]
। (जहाँ [a,b]
पूर्णांकों का समुच्चय उससे अधिक या उसके बराबर या उससे a
कम या उससे अधिक है b
।)
सूचकांक में अंतराल मूल्यों X
को कवर bX - aX + 1
करता है। हम इस नंबर पर कॉल करेंगे cX
।
यह देखते हुए कि प्रत्येक अंतराल या तो हो सकता है ...
- अपरिवर्तित (जैसा रहता है
[aX,bX]
), - (बनने )
+
द्वारा पंक्ति की संख्या की ओर दाईं ओर विस्तारित ,cX
[aX,bX + cX]
- या (बनने ) के
-
द्वारा पंक्ति की ओर बाईं ओर विस्तारित ,cX
[aX - cX,bX]
मानों की अधिकतम संख्या क्या है जो सभी अपडेट किए गए अंतरालों के संघ द्वारा कवर किए जा सकते हैं, यह देखते हुए कि वे अभी भी सभी गैर-अन्तर्विभाजक हैं?
एक फ़ंक्शन या प्रोग्राम लिखें जो फॉर्म की एक स्ट्रिंग लेता है [a1,b1],[a2,b2],[a3,b3],...,[aN,bN]
और इस अधिकतम गणना करता है। यदि कोई फ़ंक्शन लिख रहा है, तो मान लौटाएं। यदि एक पूर्ण कार्यक्रम लिख रहा है, तो इनपुट के लिए स्टड का उपयोग करें और मान को प्रिंटआउट के लिए प्रिंट करें (या निकटतम विकल्पों का उपयोग करें)।
आप मान सकते हैं कि सभी मान सामान्य हस्ताक्षरित 32-बिट पूर्णांक सीमाओं के भीतर हैं और यह सभी सूचकांकों के लिए aX
कम या बराबर है । अंतराल किसी भी क्रम में हो सकता है, वे जरूरी नहीं कि हमेशा बढ़ रहे हैं। उन्हें उपरोक्त प्रारूप में एक स्ट्रिंग के रूप में दिया जाना चाहिए। स्ट्रिंग खाली हो सकती है, जिस स्थिति में उत्तर 0 होगा।bX
X
बाइट्स में सबसे कम सबमिशन जीतता है।
उदाहरण
अगर इनपुट [-3,0],[1,2],[4,9]
22 थे , तो आउटपुट 22 होगा। बीच के अंतराल का विस्तार करने के लिए कोई जगह नहीं है, इसलिए इसे अपरिवर्तित रहना चाहिए। बाएं और दाएं अंतराल को क्रमशः [-7,0]
और बढ़ाया जा सकता [4,15]
है। के मिलन [-7,0]
और [1,2]
और [4,15]
3. 22 मूल्यों है कि सिवाय से -7 से 15 सभी मूल्यों, शामिल हैं।
[5,6]
बन सकता है [3,8]
(6 के उत्तर के लिए), या यह सिर्फ [5,8]
या [3,6]
(4 के उत्तर के लिए) हो सकता है?