यह ग्राफ निर्माण पर मेरी पहले की चुनौती का एक ढीला निरंतरता है ।
पृष्ठभूमि
एक सनकी कलाकार ने आपको उसकी मूर्तियों की संरचनात्मक अखंडता का अनुमान लगाने के लिए काम पर रखा है। वह क्यूब के आकार के चुम्बकों का एक समूह बनाकर, और एक-एक करके उन्हें एक विशाल ढेर में गिराकर कला के अपने काम करता है। उनकी पद्धति का बेहतर विश्लेषण करने के लिए, हम निम्नलिखित दो-आयामी मॉडल का उपयोग करते हैं। हम एक खाली तल से शुरू करते हैं, और #किसी भी पूर्णांक के समन्वय पर एक चुंबक गिराते हैं , कहते हैं 0:
|
v
#
===============
0
यदि एक और चुंबक को गिराया जाता है 0, तो यह पिछले एक के ऊपर समाप्त होता है:
|
v
#
#
===============
0
अब, हम एक और चुंबक को यहाँ पर छोड़ते हैं 0, और फिर एक पर 1:
|
#v
##
#
===============
0
जैसा कि ऊपर देखा गया है, एक गिरता हुआ चुंबक दूसरे चुंबक से चिपक जाता है, जो पहले गुजरता है (पहले वाला इसे धीमा कर देता है)। दूसरे चुंबक को सीधे पहले वाले से नीचे नहीं होना चाहिए, और दोनों तरफ एक चुंबक अभी भी एक चुंबक के रूप में गिना जाता है:
# #
##|##
# v #
### #
# #
===============
0
कलाकार चाहते हैं कि आप अंतिम मूर्तिकला में अधिकतम ऊर्ध्वाधर अंतर की गणना करें, अर्थात्, एक ही स्तंभ पर दो मैग्नेट के बीच की खाली जगह, या एक चुंबक और उसके नीचे की जमीन की अधिकतम संख्या। उपरोक्त तस्वीर में, यह संख्या 3 (कॉलम पर 2) होगी।
इनपुट
पूर्णांक की एक सूची, निर्देशांक का प्रतिनिधित्व करते हुए जहां कलाकार अपने मैग्नेट को छोड़ देता है, बाएं से दाएं पढ़ा जाता है। आप यह मान सकते हैं कि निर्देशांक संतुष्ट हैं -1024 <= i < 1024और सूची की लंबाई सबसे अधिक है 1024, अगर यह मदद करता है।
उत्पादन
अंतिम मूर्तिकला में अधिकतम ऊर्ध्वाधर अंतर। खाली मूर्तिकला में अंतर है -1, और इस मामले को शामिल किया जाना है, क्योंकि हमारा मूर्तिकार एक डेडिस्ट है।
अतिरिक्त नियम
आप एक समारोह या एक पूर्ण कार्यक्रम दे सकते हैं। सबसे छोटी बाइट गिनती जीतती है, और मानक खामियों को रोक दिया जाता है। स्पष्टीकरण के साथ कोड पसंद किया जाता है।
परीक्षण के मामलों
[] -> -1
[0,2,1] -> 0
[0,0,0,0,0,1,-1] -> 3
[0,0,0,0,0,1,1,1,2] -> 4
[1,1,2,2,2,2,2,2,1] -> 2
[1,1,2,2,2,2,2,2,1,0,1,0] -> 2
[1,2,1,2,1,2,1,2,2,2,2,1,0] -> 3
[-1,-1,-1,1,1,1,0] -> 1
[-1,-1,-1,-1,2,2,1,1,2,2,2,1,0] -> 2
[-2,-2,-2,-1,-1,-1,0,0,0,1,1,1,2,2,2,3,3,4,4,5,5,5,6] -> 6