Range Sum 3
Time: 1.0 s Memory: 1024 MB
-
Du har en lista med heltalen $A_0, A_1, \dots , A_{10^9}$. Till en början är $A_i=0$ för alla $i=0,1,\dots ,10^9$. Du ska hantera två sorters frågor:
-
Typ 0: givet heltalen $l$ och $r$, skriv ut värdet på $A_l + A_{l+1} + \cdots + A_{r} \ (\mathrm{mod}\ 10^9+7)$
-
Typ 1: givet heltalen $l$, $r$ och $v$, sätt $A_i=A_i+v$ för alla $i \in [l, r]$
Indata
Den första raden innehåller heltalet $Q$ ($1 \leq Q \leq 10^5$). Därefter följer $Q$ rader som innehåller en fråga vardera. Dessa ska behandlas som beskrivet ovan. Varje fråga börjar med talet $T$, typen av frågan.
Om $T=0$ följer heltalen $l,r$ ($0 \leq l \leq r \leq 10^9$).
Om $T=1$ följer heltalen $l, r, v$ ($0 \leq l \leq r \leq 10^9$, $1 \leq V \leq 10^9$).
Utdata
För varje fråga med $T=0$, skriv ut summan i det efterfrågade intervallet.
Poängsättning
Din lösning kommer att testas på flera testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.
Grupp
Poängvärde
Gränser
$1$
$40$
$r \leq 10^5$ för alla frågor
$2$
$10$
$l=r$ för alla frågor
$3$
$10$
$l=r$ för alla frågor där $T=1$
$4$
$40$
Inga ytterligare begränsningar
Sample Input 1 Sample Output 1 4 1 0 3 5 0 0 0 1 2 10 3 0 1 6
5 30
Sample Input 2 Sample Output 2 12 1 905423078 981548766 429326165 0 135954945 157145915 1 307428922 698989526 180039826 1 265908954 894542253 331008085 0 47011998 493152717 0 699080912 824869473 1 996417569 999305224 862062196 1 404033004 468533841 586687773 1 518196330 926509261 189760173 1 838784181 983687851 264134074 0 266716214 454176891 0 940869890 948895303
0 305131022 731064560 177284286 471556811
-
-
To solve the problems, you can either start a virtual contest or register for regular practice. A virtual contest simulates a participation in the original contest with a duration of 1 day, while regular practice lets you submit solutions without any constraints.
You must log in to register. - 1 Range Sum 1
- 2 Range Sum 2
- 3 Range Sum 3
- 4 Range Sum 4
- 5 Range Sum 5
- 6 Range Sum 6