Module: Decomposizione delle radici


Problem

5 /6


Moltiplicazione su un segmento

Theory Click to read/hide

Viene dato un compito in cui รจ necessario eseguire operazioni di massa su un segmento e riconoscere un elemento per indice.
Le operazioni di massa vengono eseguite come calcolo di somma su un segmento.
Per ogni blocco, memorizziamo la modifica in quel blocco e quando richiediamo un elemento da quel blocco, prendiamo in considerazione tali informazioni.

Problem

Dato un array a di lunghezza n (\(1 <= n <= 2 \ cdot 10^6\), \(1 <= a_i <= 10^9\)). Date anche m (\(1 <= m <= 500\)) query come *, l, r, k (\(1 <= l <= r < = n\), \(0 <= k <10\)) e query come ?, i (\(1 <= i <= n\)).

Nel primo caso, devi moltiplicare i numeri nel segmento da l a r inclusi per k .

Nel secondo caso, stampa il numero alla posizione i.

Gli elementi sono numerati da 1 a n.

 

Esempi
# Input Uscita
1
5
1 1 1 1 1
3
? 3
* 2 3 9
? 3
1
9