QOJ.ac

QOJ

実行時間制限: 5 s メモリ制限: 512 MB 満点: 100 ハック可能 ✓

#4214. 데자뷔

統計

배열 $x_1, x_2, \dots, x_n$이 주어진다. 이 배열에 대해 두 가지 유형의 쿼리를 수행해야 한다.

  • $i$와 $y$가 주어지면, $x_i = y$로 설정한다.
  • $l$이 주어지면, $l \le a < b < c < d$이고 $x_a < x_b < x_c < x_d$를 만족하는 모든 튜플 $(a, b, c, d)$ 중에서 가장 작은 $d$를 찾거나, 그러한 튜플이 없으면 없다고 답한다.

입력

첫 번째 줄에는 배열의 원소 개수와 쿼리의 개수를 나타내는 두 정수 $n, q$ ($1 \le n, q \le 500\,000$)가 주어진다. 두 번째 줄에는 $n$개의 정수 $x_1, x_2, \dots, x_n$ ($1 \le x_i \le 10^9$)이 주어진다. 다음 $q$개의 줄에는 각 쿼리에 대한 설명이 주어진다. 줄의 첫 번째 정수가 1이면, 다음 두 정수는 $i$와 $y$ ($1 \le i \le n, 1 \le y \le 10^9$)이며, 이는 첫 번째 유형의 쿼리를 설명한다. 그렇지 않고 첫 번째 정수가 2이면, 다음 정수는 $l$ ($1 \le l \le n$)이며, 이는 두 번째 유형의 쿼리를 설명한다.

출력

두 번째 유형의 각 쿼리에 대해, $l \le a < b < c < d$이고 $x_a < x_b < x_c < x_d$를 만족하는 모든 튜플 $(a, b, c, d)$ 중 가장 작은 $d$를 출력하거나, 그러한 튜플이 없으면 "-1"을 출력한다.

예제

입력 1

11 10
1 2 3 4 5 10 9 8 7 6 8
2 1
1 3 2
2 1
1 1 2
2 1
2 5
2 6
1 9 6
1 10 7
2 5

출력 1

4
5
6
-1
-1
11

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.