Problem

1 /6


खंड पर योग - 1

Theory Click to read/hide

हमें एक समस्या है कि O(n) स्पर्शोन्मुख से कम में एक स्थिर सरणी a में अंतराल l...r पर योगों की त्वरित गणना कैसे करें।
आइए सरणी a को समान आकार के k ब्लॉक में विभाजित करते हैं और पहले उनमें से प्रत्येक के लिए तत्वों के योग की गणना करते हैं।
अब, अनुरोध का उत्तर देते समय, हम सरणी के तत्वों के माध्यम से जा सकते हैं और उन्हें परिणाम में जोड़ सकते हैं, साथ ही यदि कोई ब्लॉक खंड के अंदर है, तो हम परिणाम में इसका योग जोड़ सकते हैं और छोड़ सकते हैं इस ब्लॉक के तत्व।
इस एल्गोरिथ्म के साथ प्रति क्वेरी संचालन की अधिकतम संख्या n / k + k है, इसलिए इष्टतम k n के वर्गमूल के बराबर है।
 

Problem

<दिव>

लंबाई n (\(1 <= n <= 2 \cdot 10^6\) की एक सरणी दी गई है ), \(1 <= a_i <= 10^9\)). इसके अलावा दिए गए m (\(1 <= m <= 500\)) क्वेरी जैसे l, r (\(1 <= l <= r <= n\))।

प्रत्येक प्रश्न के लिए, l और r सहित संख्याओं का योग प्रिंट करें। तत्वों को 1 से शुरू करते हुए क्रमांकित किया जाता है। कोड> से <कोड>एन

 

उदाहरण
<टेबल क्लास = "टेबल-बॉर्डर्ड टेबल-लिस्ट-टेस्ट टेबल-एसएम टेबल-स्ट्राइप्ड"> <सिर> <वें># <वें>इनपुट <वें>आउटपुट <शरीर> 1 <टीडी>
4
1 2 3 4
2
1 4
1 1
10
1 2 <टीडी>
5
5 5 5 5 5
1
5 5
5