아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Poed

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

요약
감소하지 않는...
난이도

보통10점 중 7점

유형
이분 탐색, 누적 합, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

Ühel tänaval on NN rõivapoodi, mis on nummerdatud 1…N1 \ldots N. Kõik poed müüvad ülikondi ja poes number ii on ülikonna alghind A_iA\_i. Seejuures on tänava alguses kallimad poed ja tänavat mööda edasi liikudes on igas järgmises poes ülikonna hind kas eelmisega sama või sellest väiksem.

Seejärel hakkab toimuma kahte tüüpi sündmusi:

  1. Poed 1,2,…,X1, 2, \ldots, X tulevad välja uute kollektsioonidega ja võivad hindu tõsta; täpsemalt asendatakse iga 1≤i≤X1 \le i \le X korral A_i:=max⁡(A_i,Y)A\_i := \max(A\_i, Y).
  2. Edev mees käib poodides X,X+1,…,NX, X+1, \ldots, N. Poeskäiku alustades on tal YY raha. Kui tal on poodi ii sisendes alles vähemalt A_iA\_i raha, siis ostab ta sealt ühe ülikonna ja tema rahavaru kahaneb A_iA\_i võrra.

Kirjutada programm, mis leiab iga 2. tüüpi sündmuse kohta, mitu ülikonda mees kokku ostab.

입력

Esimesel real on poodide arv NN (1≤N≤1051 \le N \le 10^5) ja sündmuste arv QQ (1≤Q≤1051 \le Q \le 10^5).

Teisel real on NN täisarvu A_iA\_i (1≤A_i≤1091 \le A\_i \le 10^9). On teada, et A_1≥A_2≥⋯≥A_NA\_1 \ge A\_2 \ge \cdots \ge A\_N.

Järgmisel QQ real on igaühel kolm täisarvu: sündmuse tüüp TT (1≤T≤21 \le T \le 2) ning selle parameetrid XX ja YY (1≤X≤N1 \le X \le N, 1≤Y≤1091 \le Y \le 10^9). On teada, et vähemalt üks sündmus on 2. tüüpi.

출력

Väljastada üks rida iga 2. tüüpi sündmuse kohta; igale reale väljastada ostetud ülikondade arv.

예제1

  1. 예제 1

    입력
    10 6
    10 10 10 6 6 5 5 5 3 1
    2 3 50
    2 4 10
    1 3 10
    2 2 36
    1 4 7
    2 2 17
    
    예상 출력
    8
    3
    6
    2