<div> <p>उलटफेर और विच्छेदों को ध्यान में रखते हुए क्रमपरिवर्तनों का विश्लेषण</p> </div>
Python
Hard
lists
कार्य «<div> <p>उलटफेर और विच्छेदों को ध्यान में रखते हुए क्रमपरिवर्तनों का विश्लेषण</p> </div>»
दी गई संख्याओं 1 से n तक की एक क्रमचय है। यह निर्धारित करना आवश्यक है कि क्या यह "लगभग तत्समक" है: व्युत्क्रमों की संख्या (i<j के जोड़े, जहाँ a[i] > a[j]) निश्चित संख्या में विच्छेदों वाले क्रमचयों के लिए अधिकतम संभव के बराबर होनी चाहिए। विच्छेद वह स्थिति k है, जहाँ a[k] != k है। यदि क्रमचय शर्त को पूरा करता है, तो विच्छेदों की संख्या आउटपुट करें, अन्यथा -1 आउटपुट करें। इसके अतिरिक्त, यदि विच्छेदों की संख्या 0 है, तो 0 आउटपुट करें। यदि क्रमचय संभव नहीं है (उदाहरण के लिए, डेटा गलत है), तो -2 आउटपुट करें।
इनपुट प्रारूप
<p>पहली पंक्ति में एक पूर्णांक n (1 ≤ n ≤ 10^5) है। दूसरी पंक्ति में n पूर्णांक हैं — एक क्रमचय।</p>
आउटपुट प्रारूप
एक पूर्णांक: ब्रेक की संख्या, -1 या -2।
उदाहरण
उदाहरण 1
इनपुट
abacaba
abacaba
आउटपुट
7
उदाहरण 2
इनपुट
3
3 2 1
आउटपुट
-1
main.py