यहाँ दिए गए प्रोग्रामिंग कार्य का हिंदी अनुवाद है: प्रीफिक्स योगों से संतुलित ट्री का पुनरावर्ती निर्माण
C++
Hard
recursion
कार्य «यहाँ दिए गए प्रोग्रामिंग कार्य का हिंदी अनुवाद है: प्रीफिक्स योगों से संतुलित ट्री का पुनरावर्ती निर्माण»
दिया गया है पूर्णांकों का एक सरणी A जिसका आकार N है। एक बाइनरी ट्री को पुनरावर्ती रूप से बनाना आवश्यक है, जहाँ प्रत्येक नोड में अंतराल [l, r) पर तत्वों का प्रीफिक्स योग, साथ ही l और r सूचकांक शामिल हों। मूल (root) अंतराल [0, N) के अनुरूप है। अंतराल को तब तक पुनरावर्ती रूप से आधा-आधा विभाजित करें (बायाँ आधा [l, mid), दायाँ आधा [mid, r)), जब तक अंतराल की लंबाई 1 न हो जाए। प्रत्येक नोड के लिए, उसके अंतराल पर तत्वों का योग परिकलित करें। ट्री को गहराई-प्रथम क्रम (pre-order) में प्रदर्शित करें: प्रत्येक नोड के लिए l, r और योग प्रिंट करें। पुनरावर्तन का उपयोग करें। N <= 100, सरणी में संख्याएँ मापांक में <= 10^6 हैं।
इनपुट प्रारूप
पहली पंक्ति: पूर्णांक N (1 <= N <= 100)। दूसरी पंक्ति: N पूर्णांक संख्याएँ A[i] (-10^6 <= A[i] <= 10^6)।
आउटपुट प्रारूप
प्रत्येक नोड के लिए pre-order क्रम में तीन संख्याएँ आउटपुट करें: l, r, sum। प्रत्येक नोड एक अलग पंक्ति पर। यदि खंड खाली है (l == r), तो कुछ भी आउटपुट न करें।
उदाहरण
उदाहरण 1
इनपुट
4
1 2 3 4
आउटपुट
0 4 10
0 2 3
0 1 1
1 2 2
2 4 7
2 3 3
3 4 4
उदाहरण 2
इनपुट
2
-5 5
आउटपुट
0 2 0
0 1 -5
1 2 5
main.cpp