Problem

5 /6


الضرب على قطعة

Theory Click to read/hide

مهمة معطاة يكون من الضروري فيها تنفيذ عمليات مجمعة على مقطع ما والتعرف على عنصر بفهرس.
يتم تنفيذ العمليات الجماعية كحساب مجموع على مقطع.
لكل كتلة ، نقوم بتخزين التغيير في تلك الكتلة ، وعند طلب عنصر من تلك الكتلة ، نأخذ هذه المعلومات في الاعتبار.

Problem

إعطاء مصفوفة a بطول n ( \ (1 & lt؛ = n & lt؛ = 2 \ cdot 10 ^ 6 \) ، \ (1 & lt؛ = a_i & lt؛ = 10 ^ 9 \) ). قدم أيضًا m ( \ (1 & lt؛ = m & lt؛ = 500 \) ) طلبات بحث مثل * ، l ، r ، k ( \ (1 & lt؛ = l & lt؛ = r & lt؛ = n \) ، \ (0 & lt؛ = k & lt؛ 10 \) ) وطلبات بحث مثل ؟ ، i ( \ (1 & lt؛ = i & lt؛ = n \) ).

في الحالة الأولى ، تحتاج إلى مضاعفة الأرقام في المقطع من l إلى r شاملاً بـ k .

في الحالة الثانية ، اطبع الرقم في الموضع i .

العناصر مرقمة من 1 إلى n .

نبسب ؛

أمثلة <الجسم>
# إدخال الإخراج
1
5
1 1 1 1 1
3
؟ 3
* 2 3 9
؟ 3
1
9