إيجاد رقم على قطعة
Problem
إعطاء مصفوفة a بطول n ( \ (1 & lt؛ = n & lt؛ = 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 \) ، \ (- 10 ^ 9 & lt؛ = k & lt؛ = 10 ^ 9 \) ) واستعلامات مثل ؟ ، l ، r ، k ( \ (1 & lt؛ = l & lt؛ = r & lt؛ = n \) ، \ (- 10 ^ 9 & lt؛ = k & lt؛ = 10 ^ 9 \) ).
في الحالة الأولى ، يجب أن تضيف إلى الأرقام الموجودة في المقطع من l إلى r شاملًا ، الرقم k < / كود>.
في الحالة الثانية ، تحتاج إلى طباعة 1 إذا كان هناك رقم k على المقطع من l إلى r code > شاملًا ، وإلا اطبع 0 .
العناصر مرقمة من 1 إلى n .
مضمون أنه بعد أي طلب ، يقع أي عنصر من المصفوفة a في نطاق \ (- 10 ^ 9 \) span> حتى \ (10 ^ 9 \) شاملًا. p>
نبسب ؛
أمثلة h5>
| # |
إدخال |
الإخراج |
<الجسم>
| 1 |
5
1 2 1 1 3
3
|
0
1 |