Tagi

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

요약
정적 배열에서 각 질의마다 [L, R] 구간의 모든 원소를 변환한 뒤(짝수는 절반, 홀수는 X로 바꿈) 합을 구하고, 변환은 되돌린다.
난이도

보통10점 중 6점

유형
누적 합, 수학, 비트 연산, 배열
정답자
아직 제출이 없습니다

문제

Markov veliki pomoćnik u organizaciji nastupa je robot Tagi. Kad god uhvate slobodan trenutak, Marko i Tagi vole igrati sljedeću igru: prvo Tagi odredi niz od NN prirodnih brojeva. Zatim Tagi mora čim brže odgovoriti na MM Markovih pitanja. U svakom pitanju Marka zanima koliki je zbroj brojeva u nizu od pozicije LL do pozicije RR.

Naravno, Tagiju je to prelako pa su igru učinili još zanimljivijom. Marko će Tagiju u svakom pitanju zadati i broj za transformiranje XX. Tagi će zatim brojeve od pozicije LL do pozicije RR transformirati na sljedeći način:

  • Ako je broj paran, tada će njega transformirati u upola manji broj (tj., podijeliti će broj s 22)
  • Ako je broj neparan, tada će taj broj transformirati u broj XX.

Nakon što Tagi transformira brojeve, zbrojit će ih i odgovoriti Marku na pitanje. A prije nego Marko postavi novo pitanje, Tagi će sve transformacije poništiti.

Iako je Tagi besprijekoran u svim ostalim zadacima, transformiranje brojeva mu ne ide tako lako. Pomozite mu odgovoriti na Markova pitanja!

입력

U prvom retku su prirodni brojevi NN i MM (1≤N≤100,0001 ≤ N ≤ 100\\, 000, 1≤M≤1,000,0001 ≤ M ≤ 1\\, 000\\, 000), broj brojeva u nizu i broj Markovih pitanja.

U sljedećem retku je NN prirodnih brojeva A_iA\_i (1≤A_i≤1,000,000,0001 ≤ A\_i ≤ 1\\, 000\\, 000\\, 000), brojevi u nizu.

Slijedi MM redaka po tri broja L_iL\_i, R_iR\_i i X_iX\_i (1≤L_i≤R_i≤N1 ≤ L\_i≤ R\_i ≤ N, 1≤X_i≤1,000,000,0001 ≤ X\_i ≤ 1\\, 000\\, 000\\, 000) koji označavaju da Marko u ii-tom pitanju traži zbroj brojeva od pozicije L_iL\_i do pozicije R_iR\_i uz zadani broj za transformiranje X_iX\_i.

출력

U MM redova ispiši po jedan prirodan broj, redom odgovor na svako Markovo pitanje.

힌트

Opis prvog probnog primjera:

  1. upit: 7+2+1+77 + 2 + 1 + 7
  2. upit: 5+55 + 5
  3. upit: 9+9+29 + 9 + 2
  4. upit: 44
  5. upit: 1+1+16+61 + 1 + 16 + 6

예제3

  1. 예제 1

    입력
    7 5
    1 3 4 2 199 32 12
    2 5 7
    1 2 5
    1 3 9
    1 1 4
    4 7 1
    
    예상 출력
    17
    10
    20
    4
    24
    
  2. 예제 2

    입력
    8 3
    1 5 3 8 2 10 4 19
    1 8 2
    1 4 2
    5 8 2
    
    예상 출력
    20
    10
    10
    
  3. 예제 3

    입력
    6 4
    2 16 7 48 11 1024
    1 1 5
    2 5 3
    3 6 6
    2 4 9
    
    예상 출력
    1
    38
    548
    4