Liście

시간 제한25초메모리 제한2048 MB

요약
여러 번의 접두사 구간 증가로 날짜별 잎의 양이 바뀔 때, 처음 p일 동안 나무 d에서 먹은 잎의 총량을 구하는 질의에 답한다.
난이도

어려움10점 중 8점

유형
누적 합, 정렬, 이분 탐색, 완전 탐색
정답자
아직 제출이 없습니다

문제

W Lesie Bajtockim rośnie 10610^6 drzew ułożonych w rzędzie i ponumerowanych kolejno od 11 do 10610^6. Na skraju lasu, tuż przed drzewem numer 11, mieszka Bajtazaur.

Bajtazaur postanowił przejść na dietę i rozpocząć sportowy tryb życia. Przygotował plan na następne nn dni: ii-tego dnia zrobi spacer z domu do drzewa numer a_ia\_i i z powrotem, zjadając z każdego napotkanego drzewa dokładnie v_iv\_i liści, ale z każdego drzewa tylko raz w trakcie jednego spaceru∗^∗.

Początkowo Bajtazaur ambitnie postanowił, że v_i=0v\_i = 0 dla każdego ii, lecz szybko się zorientował, że raczej nie wytrzyma takiej głodówki i powinien stopniowo dostosowywać ilość podjadanych liści. Bajtazaur naprawi swój plan przy pomocy mm modyfikacji: jj-ta modyfikacja będzie polegać na zwiększeniu liczby zjadanych liści o wartość w_jw\_j dla pierwszych p_jp\_j dni. Innymi słowy, dla każdego i=1,2,…,p_ji = 1, 2, \dots , p\_j, wartość v_iv\_i zostanie zwiększona o w_jw\_j.

Co jakiś czas, pomiędzy wykonywanymi modyfikacjami, Bajtazaur będzie zadawał pytania. Sumarycznie zada zz pytań, jj-te z nich będzie brzmiało: ile liści z drzewa numer d_jd\_j zostanie zjedzonych przez Bajtazaura sumarycznie w trakcie pierwszych p_jp\_j dni aktualnego planu?

Pomóż Bajtazaurowi i odpowiedz na jego pytania.


∗^∗Bajtazaur wymyślił sobie, że w jedną stronę będzie jadł tylko z drzew o nieparzystych numerach, a z powrotem będzie jadł tylko z drzew o numerach parzystych. W ten sposób rozłoży posiłki równomiernie na całej trasie.

입력

W pierwszym wierszu wejścia znajdują się trzy liczby całkowite nn, mm oraz zz (1≤n,m,z≤1061 ≤ n, m, z ≤ 10^6, n⋅m⋅z≤1016n \cdot m \cdot z ≤ 10^{16}), oznaczające odpowiednio: liczbę dni zaplanowanej diety Bajtazaura, liczbę modyfikacji, których Bajtazaur dokona, oraz liczbę pytań, na które Bajtazaur potrzebuje odpowiedzi.

W drugim wierszu znajduje się ciąg nn liczb całkowitych a_1,…,a_na\_1, \dots , a\_n (1≤a_i≤1061 ≤ a\_i ≤ 10^6), oznaczających numery drzew, do których Bajtazaur będzie spacerował w poszczególnych dniach planu.

W kolejnych m+zm+z wierszach znajdują się opisy modyfikacji planu oraz opisy pytań Bajtazaura, po jednym opisie w wierszu:

  • Wiersz opisujący jj-tą modyfikację planu składa się z trzech liczb całkowitych 11, p_jp\_j, w_jw\_j (1≤p_j≤n1 ≤ p\_j ≤ n, 1≤w_j≤1061 ≤ w\_j ≤ 10^6), oznaczających odpowiednio liczbę dni oraz wartość o jaką Bajtazaur zwiększa liczby zjadanych liści.
  • Wiersz opisujący jj-te pytanie składa się z trzech liczb całkowitych 22, p_jp\_j, d_jd\_j (1≤p_j≤n1 ≤ p\_j ≤ n, 1≤d_j≤1061 ≤ d\_j ≤ 10^6), oznaczających odpowiednio liczbę dni oraz drzewo, dla którego mamy policzyć zjedzone liście.

Pośród tych m+zm + z wierszy znajdzie się dokładnie mm opisów modyfikacji i dokładnie zz opisów pytań. Opisy są podane w kolejności chronologicznej, czyli przy odpowiedzi na dane pytanie, należy w planie uwzględnić te modyfikacje, które zostały wykonane przed zadaniem pytania (tj. są podane wcześniej na wejściu), natomiast nie należy uwzględniać modyfikacji, które będą wykonane później (tj. są podane później na wejściu).

출력

Na wyjściu powinno znaleźć się z wierszy, a jj-ty z nich powinien zawierać odpowiedź na jj-te pytanie, tzn. liczbę liści jakie Bajtazaur zje z drzewa numer d_jd\_j w przeciągu pierwszych p_jp\_j dni planu rozważanego przez Bajtazaura w momencie zadania pytania.

힌트

Wyjaśnienie do przykładu: Plan Bajtazaura składa się z trzech dni (n=3n = 3). Bajtazaur wykona m=2m = 2 modyfikacji początkowego planu i zada z=4z = 4 pytania.

W dniu pierwszym, plan przewiduje spacer do drzewa numer a_1=3a\_1 = 3, w dniu drugim do drzewa numer a_2=4a\_2 = 4, a w dniu trzecim do drzewa numer a_3=1a\_3 = 1. Na początku v_1=v_2=v_3=0v\_1 = v\_2 = v\_3 = 0, czyli Bajtazaur nie planuje jeść liści. Następnie Bajtazaur wykonuje modyfikacje i zadaje pytania:

  • 2 3 1 – Bajtazaur pyta, ile liści zje przez pierwsze 33 dni planu z drzewa numer 11 – odpowiedź to 00, ponieważ Bajtazaur jeszcze nie zaplanował jedzenia.
  • 1 2 10 – Bajtazaur modyfikuje plan poprzez zwiększenie wartości v_iv\_i dla pierwszych 22 dni o 1010. Po tej modyfikacji mamy: v_1=10v\_1 = 10, v_2=10v\_2 = 10, v_3=0v\_3 = 0.
  • 2 1 2 – Bajtazaur pyta, ile liści zje w trakcie tylko pierwszego dnia planu z drzewa numer 22 – odpowiedź to 1010, ponieważ pierwszego dnia podczas spaceru do drzewa numer a_1=3a\_1 = 3, zje v_1=10v\_1 = 10 liści z drzewa numer 22, które jest po drodze.
  • 2 3 1 – Bajtazaur pyta, ile liści zje przez pierwsze 33 dni planu z drzewa numer 11 – tym razem odpowiedź to 2020, ponieważ pierwszego dnia zje v_1=10v\_1 = 10 liści, drugiego dnia zje v_2=10v\_2 = 10 liści, a trzeciego dnia zje v_3=0v\_3 = 0 liści.
  • 1 3 1 – Bajtazaur modyfikuje plan poprzez zwiększenie wartości v_iv\_i dla pierwszych 33 dni o 11. Po tej modyfikacji mamy: v_1=11v\_1 = 11, v_2=11v\_2 = 11, v_3=1v\_3 = 1.
  • 2 3 2 – Bajtazaur pyta, ile liści zje przez pierwsze 33 dni planu z drzewa numer 22 – odpowiedź to 2222, ponieważ pierwszego dnia zje v_1=11v\_1 = 11 liści, drugiego dnia zje v_2=11v\_2 = 11 liści, a trzeciego dnia pójdzie na spacer tylko do drzewa a_3=1a\_3 = 1, więc drzewa 22 w ogóle nie odwiedzi.

예제1

  1. 예제 1

    입력
    3 2 4
    3 4 1
    2 3 1
    1 2 10
    2 1 2
    2 3 1
    1 3 1
    2 3 2
    
    예상 출력
    0
    10
    20
    22