आप लंबे समय से एक उन्नत संग्रह डिवाइस नियंत्रक ™ से डेटा एकत्र कर रहे हैं। आप लॉग की जांच करते हैं, और आपके आतंक से आपको पता चलता है कि कुछ बहुत गलत हो गया है: डेटा में केवल संख्या के अंतिम बिट्स होते हैं!
सौभाग्य से, आप शुरुआती मूल्य जानते हैं और यह कि मूल्य कभी भी तेजी से नहीं बदलता है। इसका मतलब है कि आप शुरू से दूरी का पता लगाकर बाकी की वसूली कर सकते हैं।
चुनौती
एक मापांक Nऔर मध्यवर्ती मान modulo की एक सूची दी गई राशि को बदलने के लिए आप एक प्रोग्राम या फ़ंक्शन लिखेंगे N।
प्रत्येक जोड़ी संख्या के बीच परिवर्तन हमेशा की तुलना में कम होता हैN/2 , इसलिए प्रत्येक परीक्षण मामले के लिए केवल एक मान्य उत्तर होगा।
आपको Nअपनी पसंद के प्रारूप में इनपुट पूर्णांक > 2 और मूल्यों की सूची के रूप में दिया जाएगा । इनपुट STDIN या कमांड लाइन या फ़ंक्शन तर्कों के माध्यम से दिया जा सकता है।
आप एक ही पूर्णांक का उत्पादन करेंगे, मूल मूल्य बदल गया है। आउटपुट को STDOUT या मुद्रित किया जा सकता है।
नियम
- आपका प्रोग्राम किसी भी दूरी और मापांक से कम के लिए काम करना चाहिए
2^20। - आप मान सकते हैं कि:
Nकम से कम है3।- सूची में कम से कम 2 मान हैं।
- सूची में सभी मान कम से कम 0 और से कम हैं
N। - संख्या में सभी परिवर्तन की तुलना में कम हैं
N/2।
- कुछ भी एक अमान्य इनपुट है, और आपका प्रोग्राम जो चाहे कर सकता है।
- मानक खामियों, किसी भी गैर-मानक पुस्तकालयों और इस सटीक उद्देश्य के लिए अंतर्निहित फ़ंक्शन निषिद्ध हैं।
- यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है।
उदाहरण के मामले
इनपुट:
3
0 1 2 2 0 1 0 2 1 2 0 1 2 1 1
आउटपुट:
4
स्पष्टीकरण (उदाहरण मूल्य के साथ):
Value mod 3: 0 1 2 2 0 1 0 2 1 2 0 1 2 1 1
Value: 0 1 2 2 3 4 3 2 1 2 3 4 5 4 4
इनपुट:
10
5 2 8 9 5
आउटपुट:
-10
स्पष्टीकरण (उदाहरण मूल्य के साथ):
Value mod 10: 5 2 8 9 5
Value: 15 12 8 9 5
अमान्य इनपुट:
2
0 0 0 0 0
(बहुत छोटा मापांक)
6
2 5 4 2
(2 और 5 के बीच बहुत बड़ा बदलाव)
:^;[5 2 8 9 5](\?