إيجاد رقم على قطعة
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 |