Module: Decomposizione delle radici


Problem

6 /6


Trovare un numero su un segmento

Problem

Dato un array a di lunghezza n (\(1 <= n <= 10^ 6\), \(1 <= a_i <= 10^9\)). Date anche m (\(1 <= m <= 500\)) query come +, l, r, k (\(1 < ;= l <= r <= n\), \(-10^9 <= k <= 10^9\) ) e query come ?, l, r, k ( \(1 <= l <= r <= n\), \(-10^9 <= k <= 10^9\) ).

Nel primo caso, devi aggiungere ai numeri nel segmento da l a r compreso, il numero k< /codice>.
Nel secondo caso, devi stampare 1 se c'è un numero k sul segmento da l a r inclusivo, altrimenti stampa 0.

Gli elementi sono numerati da 1 a n.

È garantito che dopo ogni richiesta, qualsiasi elemento dell'array a rientri nell'intervallo di \(-10^9 \) fino a \(10^9\) incluso.

 

Esempi
# Input Uscita
1
5
1 2 1 1 3
3
? 1 4 3
* 2 3 2
? 1 4 3
0
1