#1354
Platinum IV
요동치는 무트코인
시간 제한
1s
메모리 제한
256MB
제출
1
정답
1
맞힌 사람
1
정답 비율
100.0%

문제

동물의 숲에서는 일요일마다 무를 살 수 잇고, 그 후 일주일 동안 너굴 상점에 무를 팔아 시세 차이를 이용해 수익을 낼 수 있다. 그러나 일주일이 지나게 되면 무가 전부 썩어버려 더이상 팔 수 없게 된다. 동물의 숲에서 부자의 삶을 실현하고 싶던 지원이는 무트코인의 애용자였다.

지원이는 무를 팔 때 현재 시세가 높아도 더 높아지지 않을까 기대하며 끝까지 팔지 않고 있다가 무가 전부 썩어버리기 마련이였다. 이에 기분이 나빴던 지원이는 평소에 코딩을 잘하여 동물의 숲의 코드를 고쳐 무가 썩기까지의 시간을 NN일로 늘리는데 성공하였다. 그러나 여전히 지원이는 무를 팔지 못하고 시세가 더 높이지기를 기다리는 습관이 도져서 큰 수익을 올리지 못하고 있었다. 여러분들이 지원이를 위해 지원이가 원하는 수익 이상을 낼 수 있도록 도와주는 프로그램을 작성해보자.

너굴 상점은 앞으로 NN일 동안의 무 가격 정보를 관리하고 있다. 하지만 지원이가 무 유통기한을 늘리는 과정에서 실수로 다른 코드도 같이 바꿔버려 시세 예측이 자주 바뀌게 되었다. 즉, 어떤 날의 무 가격이 변칙적으로 바뀔 수도 있다.

지원이는 어떤 날 ss에 무를 샀을 때, 적어도 KK벨 이상의 이익을 낼 수 있는 가장 늦은 날에 팔고 싶어 한다.

시세가 바뀌는 상황에서 여러분들은 두 종류의 연산을 처리하는 프로그램을 지원이를 위해 짜보도록 하자. 연산은 다음과 같이 주어진다.

  • 연산 AA 11 ii xx : ii 번째 날의 무 가격을 xx로 변경한다.

  • 연산 BB 22 ss KK : ss 번째 날에 무를 샀다고 했을 때 ss번째 날 이후의 날들 중에서, 무 가격이 Ps+KP_s + K 이상이 되는 가장 늦은 날의 번호를 출력한다. 만약 그러한 날이 존재하지 않으면 1-1을 출력한다.

입력

첫째 줄에 두 정수 NN, QQ 가 공백으로 구분되어 주어진다.

둘째 줄에 NN개의 정수 PiP_i 가 공백으로 구분되어 주어진다. PiP_iii번째 날의 무 가격을 의미한다.

이후 QQ개의 줄에 걸쳐 연산 AA와 연산 BB중 하나가 한 줄에 하나씩 주어진다.

1N,Q2000001 \leq N, Q \leq 200\,000

1Pi1091 \leq P_i \leq 10^9

1i,sN1 \leq i, s \leq N

1x1091 \leq x \leq 10^9

1K1091 \leq K \leq 10^9

출력

BB번 연산에 대해, 조건을 만족하는 가장 늦은 날의 번호를 한 줄에 하나씩 줄력한다.

예제 입력 1

7 5
90 80 85 110 95 140 70
2 2 20
1 3 120
2 2 20
2 5 40
2 7 1

예제 출력 1

6
6
6
-1
출처
문제를 만든 사람
유지원
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
8457🥇
조서현
PyPy181ms81336KB1276B
난이도 투표
Platinum IV1명 투표· 10일 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
8457
맞았습니다
PyPy181ms81336KB1276B2026. 05. 26. 13:26