यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का टेक्स्ट दिया गया है: क्रमपरिवर्तन में अधिकतम योग वाले चक्र की खोज

Python Hard loops

कार्य «यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का टेक्स्ट दिया गया है: क्रमपरिवर्तन में अधिकतम योग वाले चक्र की खोज»

1 से N तक की संख्याओं का एक क्रमपरिवर्तन दिया गया है। एक निर्देशित ग्राफ पर विचार करें, जहाँ प्रत्येक शीर्ष i का a[i] पर एक किनारा है। इस ग्राफ में एक चक्र खोजें, जिसके तत्वों का योग अधिकतम हो। यदि ऐसे कई चक्र हैं, तो कोई एक आउटपुट करें। यह गारंटी है कि N ≥ 2। चक्र को विभिन्न शीर्षों का एक अनुक्रम माना जाता है, जहाँ प्रत्येक अगला शीर्ष नियम द्वारा प्राप्त होता है: अगला = a[वर्तमान], और अंतिम शीर्ष एक किनारे द्वारा पहले पर वापस आता है।

इनपुट प्रारूप

पहली पंक्ति में एक पूर्णांक N (2 ≤ N ≤ 10^5) है। दूसरी पंक्ति में N पूर्णांक a[1], a[2], ..., a[N] हैं — यह 1 से N तक की संख्याओं का एक क्रमचय है।

आउटपुट प्रारूप

दो संख्याएँ आउटपुट करें: चक्र की लंबाई और चक्र के तत्वों का योग। फिर अगली पंक्ति में चक्र के तत्वों को किसी भी तत्व से शुरू करते हुए ट्रैवर्सल क्रम में आउटपुट करें।

उदाहरण

उदाहरण 1

इनपुट
5 2 3 1 5 4
आउटपुट
2 9 4 5

उदाहरण 2

इनपुट
7 1 2 3 4 5 6 7
आउटपुट
1 7 7

उदाहरण 3

इनपुट
4 abc cde xyz zab
आउटपुट
Invalid input

उदाहरण 4

इनपुट
4 2 1 4 3
आउटपुट
2 7 3 4

उदाहरण 5

इनपुट
3 1 0 2
आउटपुट
1 1 1
main.py