चलो एक-खिलाड़ी गेम खेलते हैं जिसे जंप द एरे कहा जाता है । खेलने के लिए, आपको केवल एक पूर्णांक की आवश्यकता है, कहते हैं a। आप किसी स्थिति में शुरू करते हैं i, और प्रत्येक मोड़ पर, आप एक नए स्थान पर जाते हैं। चालू होने पर n,
- यदि
nहै भी, तो आप पूर्ण स्थिति में कूद जाते हैंa[i] mod length(a), - यदि
nविषम है, तो आप सापेक्ष स्थिति में कूद जाते हैं(i + a[i]) mod length(a)।
सरणी अनुक्रमण शून्य पर शुरू होता है। आप पहली छलांग को टर्न 0या टर्न के रूप में गिन सकते हैं 1, जो एक अलग खेल देता है। चूंकि खेल का राज्य स्थान परिमित है (आपकी चाल आपकी स्थिति और टर्न नंबर की समता से निर्धारित होती है), आप निश्चित रूप से अंत में समान लंबाई का लूप दर्ज करेंगे। loop(a, i, b)इस लूप की लंबाई से निरूपित करें, जब पहली छलांग को बारी के रूप में गिना जाता है b।
इनपुट
aसाथ खेलने के लिए पूर्णांक की एक गैर-रिक्त सरणी ।
उत्पादन
अधिक से अधिक संख्या p, जब किसी स्थिति पर शुरू होती है iऔर 0या तो पहले मोड़ की गिनती करती है या 1, आप अंततः लंबाई का एक लूप दर्ज करते हैं 2 * p। दूसरे शब्दों में, आपका आउटपुट नंबर है
max { loop(a, i, b)/2 : i in [0 .. length(a)-1], b in [0,1] }
नियम
आप एक समारोह या एक पूर्ण कार्यक्रम दे सकते हैं। सबसे छोटी बाइट गिनती जीतती है, और मानक खामियों को रोक दिया जाता है।
परीक्षण के मामलों
[0] -> 1
[-213] -> 1
[1,3,12,-1,7] -> 1
[2,3,5,7,9,11,13,17,19] -> 2
[-2,3,-5,7,-9,11,-13,17,-19,23,-27] -> 3
[0,2,5,4,-9,0,-1,1,-1,1,-6] -> 4
modहमेशा सकारात्मक ( -1 mod 5 == 4) के रूप में परिभाषित किया जाता है क्या यह मामला है?
mod, जो हमेशा नॉनगेटिव परिणाम देता है।